Windows PowerShell: Dê o segundo salto

Você poderá encontrar algumas situações difíceis ao realizar uma Comunicação remota com o Windows PowerShell. Apenas preste atenção ao número de vezes que você der o salto.

Don Jones

Windows PowerShell Remoting é uma forma incrível para gerenciar vários computadores remotos, como facilmente como se você foram apenas Gerenciando um. Em um ambiente de domínio, ele simplesmente funciona. Tendo dito que, há algumas advertências para observar que pode realmente atrapalhar você. O segundo "salto" é um daqueles.

Um especialmente legal Remoting é quão bem ele se integra com tecnologias específicas do Windows, como o protocolo de autenticação Kerberos. Ao contrário de ferramentas antigas que poderiam aceitar e executar comandos remotos, Remoting não executar alguns onipotente na conta LocalSystem. Em vez disso, quando você se conectar, sua credencial do Windows (aquele com o qual você conectado ou especificado ao fazer a conexão) é delegada ao computador remoto ou computadores.

A delegação é um recurso nativo do Kerberos e do Active Directory. É completamente seguro. Sua senha não é transmitida através da rede em claro, criptografada ou não. No máximo, é usado como uma chave de criptografia compartilhada.

Delegação significa que cópia do computador remoto do Windows PowerShell pode executar comandos, assim como você faz, o que significa que comunicação remota se torna transparente para a segurança. Qualquer coisa que você tem permissão para fazer, você será capaz de fazer remotamente. Se você não tiver permissão, você não pode fazê-lo. Comunicação remota é executar comandos como você.

Assim você se senta no computador cliente e conectar-se a servidora, que é uma máquina remota. Sua credencial é delegada para que a máquina. Da servidora, você agora inicia outra conexão de algum tipo para uma terceira máquina. Que não tem uma ligação de comunicação remota. Você pode tentar mapear uma unidade de rede para esse terceiro computador, acessar um armazenamento de certificado ou fazer qualquer outra coisa. Você acabou de fazer um segundo salto.

O primeiro salto foi de seu cliente, a servidora. A segunda é de servidora para outra máquina que você está tentando se conectar. O problema surge porque suas credenciais não podem ser delegadas a uma segunda vez.

Isso é realmente uma característica de segurança, projetada para impedir que sua credencial sendo repassados sem seu conhecimento. Então seu segunda salto operação falhar, porque a servidora não é capaz de enviar qualquer credenciais junto para o passeio.

Apenas sobre cada classe de Windows PowerShell que eu ensinei, há alguém que encontrou isto. É fácil esquecer que você está remoto em uma máquina, porque é tão transparente e simples de fazer. Por isso é fácil de acabar tentando remoto para uma terceira máquina sem perceber você está iniciando um segundo salto.

Não há nenhuma delegação de credenciais, o segundo salto falha, você vê mensagens de erro estranhas e todos acabam confusos. Isso pode acontecer até mesmo em alguns casos onde você tem apenas um salto, mas você tenta executar uma operação no computador remoto que requer uma credencial de delegado.

O post do Blog do Windows PowerShell, "CredSSP para comunicação remota do segundo salto," descreve o que acontece. Ele também descreve a correção, que é permitir que o novo protocolo de autenticação CredSSP. Isso tem que ser habilitado na sua máquina cliente e todas as máquinas às quais você pretende remoto. Você pode executar um comando para habilitá-lo:

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

Deve ser óbvio qual é executado no cliente e que um servidor. Você também pode habilitar este protocolo através de um grupo diretiva GPO (objeto) nas configurações do Windows Remote Management (WinRM). Você também precisará especificar o protocolo CredSSP quando usar Invoke-Command, Enter-PSSession, New-PSSession ou qualquer outro cmdlet que utiliza o sistema de interação remota.

Confira o PDF livre, "Guia de um leigo para comunicação remota PowerShell 2.0," por Ravikanth Chaganti. Ele inclui mais detalhes (especialmente no capítulo 10) sobre a questão de segundo salto e como resolver qualquer confusão. Por exemplo, ele observa que os controladores de domínio não precisam CredSSP para fazer a mágica de segundo salto, porque eles estão configurados para oferecer suporte a ele por padrão.

Há um monte de outros cenários complicados que você pode topar com arquitetura de comunicação remota. Você pode encontrar computadores não domínio, domínios conexões, comunicação remota através de um servidor proxy e assim por diante. No Windows PowerShell, execute o about_remote_troubleshooting de ajuda para ler as instruções detalhadas para lidar com estes e outros cenários. Se você ainda está preso, mande-me uma linha.

Don Jones

Don Jones é um Microsoft MVP Award destinatário e autor de "Aprender Windows PowerShell em um mês de almoços" (Manning Publications, 2011), um livro concebido para ajudar qualquer administrador tornar-se eficaz com o Windows PowerShell. Jones também oferece formação de pública e no local do Windows PowerShell. Entre em contato com ele através do ConcentratedTech.com ou bit.ly/AskDon.

Conteúdo relacionado