Windows PowerShell. Effettuare il secondo hop

È possibile imbattersi in alcune situazioni difficili quando di utilizza la funzionalità di comunicazione remota con Windows PowerShell. È necessario fare attenzione a quante volte si effettua un hop.

Don Jones

Windows PowerShell Remoting è un fantastico modo per gestire più computer remoti come facilmente come se si era solo gestendo uno. In un ambiente di dominio, semplicemente funziona. Dopo aver detto che ci sono alcune considerazioni da guardare per che può davvero rovinare te. Il "secondo hop" è uno di quelli.

Una particolare cosa fredda circa Remoting è come ben si integra con le tecnologie Windows specifici, come ad esempio il protocollo di autenticazione Kerberos. A differenza dei vecchi strumenti che potrebbero accettare ed eseguire comandi remoti, Remoting non funzionare con alcuni account LocalSystem Onnipotente. Invece, quando ci si connette, la credenziale Windows (quello con cui effettuato o specificato quando si effettua la connessione) è delegata al computer remoto o al computer.

La delega è una funzionalità nativa di Kerberos e Active Directory. È completamente sicuro. La password non è trasmesso attraverso la rete in chiaro, criptato o altrimenti. Al massimo, è usato come una chiave di crittografia condivisa.

Delegazione significa che copia del computer remoto di Windows PowerShell è possibile eseguire comandi proprio come fate, significato che remoto diventa trasparente per la sicurezza. Nulla che si dispone dell'autorizzazione per fare, sarete in grado di fare da remoto. Se non hai il permesso, non può farlo. Comunicazione remota è l'esecuzione di comandi come voi.

Così siedono al computer client e connettersi a ServerA, che è una macchina remota. La credenziale è delegata a quella macchina. Da ServerA, si avvia ora un'altra connessione di qualche genere per una terza macchina. Che non deve essere una connessione remota. Si potrebbe provare a mappare un'unità di rete al terzo computer, accedere a un archivio di certificati o fare qualsiasi altra cosa. Hai appena fatto un secondo hop.

Il primo hop era il tuo client-ServerA. Il secondo è da ServerA per l'altra macchina a cui si sta tentando di connettersi. Il problema si pone perché le vostre credenziali non possono essere delegate una seconda volta.

Che è in realtà una caratteristica di sicurezza, progettata per impedire la credenziale di essere passati in giro senza la vostra conoscenza. Così il vostro secondo hop operazione ha esito negativo, perché ServerA non è in grado di inviare le credenziali lungo per il giro.

In ogni classe di Windows PowerShell che ho insegnato, c'è qualcuno che ha riscontrato questo. È facile dimenticare che sei in modalità remota in una macchina perché è così trasparente e semplice da fare. Così è facile finire cercando di telecomando per una terza macchina senza rendersi conto che si sta avviando un secondo hop.

Non non c'è nessuna delega credenziali, il secondo hop ha esito negativo, vengono visualizzati messaggi di errore strano e tutti finisce confuso. Questo può anche accadere in alcuni casi dove si hanno solo un salto, ma si tenta di eseguire un'operazione sul computer remoto che richiede una credenziale delegata.

Il post del Blog di Windows PowerShell, "CredSSP per secondo-hop remoting," descrive ciò che accade. Viene inoltre descritto il fix, che è quello di attivare il nuovo protocollo di autenticazione CredSSP. Questo deve essere abilitato sul computer client e tutte le macchine a cui si intende remoto. È possibile eseguire un comando per attivarlo:

Enable-WSManCredSSP –Role client –DelegateComputer * Enable-WSManCredSSP –Role server

Dovrebbe essere ovvio che uno viene eseguito sul client e che uno sul server. È anche possibile attivare questo protocollo attraverso un oggetto (criteri di gruppo) nelle impostazioni di gestione remota Windows (WinRM). È necessario inoltre specificare il protocollo CredSSP quando si utilizza Invoke-Command, Enter-PSSession, New-PSSession o qualsiasi altri cmdlet che utilizza i servizi remoti.

Check out il PDF gratuito, "Guida di un laico ai servizi remoti PowerShell 2.0," da Ravikanth Chaganti. Esso comprende più in dettaglio (specialmente nel capitolo 10) sul problema del secondo hop e come risolvere qualsiasi confusione. Per esempio, essa osserva che controller di dominio non bisogno CredSSP per fare la magia di secondo-hop, perché essi stai configurati per il supporto e per impostazione predefinita.

C'è un mucchio di altri scenari difficili che è possibile eseguire in con servizi remoti. Si potrebbe incontrare i computer non di dominio, domini connessioni, servizi remoti tramite un server proxy e così via. In Windows PowerShell, eseguire about_remote_troubleshooting aiuto per leggere le istruzioni dettagliate per affrontare questi e altri scenari. Se sei ancora bloccato, cadalo una linea.

Don Jones

Don Jones è un Microsoft MVP Award destinatario e autore di "Imparare Windows PowerShell in un mese di pranzi" (Manning Publications, 2011), un libro progettato per aiutare qualsiasi amministratore diventano efficaci con Windows PowerShell. Jones offre anche formazione Windows PowerShell pubblica e in loco. È possibile contattarlo attraverso ConcentratedTech.com o bit.ly/AskDon.

Contenuti correlati