Using PuTTYs plink Command to Automate SSH Actions on Windows

Summary

SSH é um método seguro e conveniente para automatizar scripts em servidores remotos. Em máquinas UNIX e Linux, a configuração do SSH é quase trivial; no entanto, no Windows é mais desafiadora. O comando “plink” do PuTTY pode ser usado para automatizar as ações do SSH no Windows. O “plink” tem alguns requisitos específicos de inicialização em máquinas Windows para torná-lo utilizável a partir da interface do script DPX. Este artigo cobre como usar o comando “plink” do Windows, que está incluído no conjunto de utilitários do PuTTY. Isto não pretende ser uma revisão completa do uso do “plink”. Ele aborda especificamente como habilitar as chaves de host necessárias para uso com o mecanismo de script DPX. “

Step By Step

PuTTY é um cliente SSH de terceiros disponível livremente para plataformas Windows. No momento desta escrita, PuTTY está disponível em: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software não fornece suporte técnico para executáveis de terceiros. O uso de executáveis de terceiros é por sua conta e risco.

“plink.exe” pode ser usado em um script em lote do Windows para automatizar a execução de scripts remotos através do SSH. Isso é especialmente útil para automatizar as operações da NetApp e acionar scripts adicionais em hosts UNIX e Linux. Um comando típico se parece com isto:

plink -ssh -l root -pw "password" host-name command

Um exemplo mais específico é:

plink -ssh -l root -pw "password" 192.168.199.10 "reboot"

Em sistemas UNIX/Linux compatíveis, este comando causa a máquina remota no endereço 192.168.199.10 para reiniciar imediatamente.

Quando você executa plink pela primeira vez da linha de comando do Windows para uma nova máquina, uma mensagem similar à seguinte aparece:

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

Este é um prompt interativo que você não pode contornar. Se seleccionar ‘y’, uma chave de anfitrião é colocada em cache no registo do Windows, e para este anfitrião a questão da impressão digital da chave não é colocada novamente. Se você selecionar ‘n’, a chave não será colocada em cache, e esta pergunta aparece sempre que você tentar se conectar a esta máquina.

“plink” coloca em cache estas chaves de máquina no perfil do usuário dentro do registro do HKEY_CURRENT_USER. Esta área do registro é específica para o login atual; ela persiste entre sessões de login, mas estes valores não são compartilhados com outros usuários do sistema.

Aqui é onde o problema existe. A conta padrão usada para DPX é ‘Conta de Sistema Local’. Revise esta configuração indo para o gerenciador de serviços do Windows. No gerenciador de serviços, encontre o serviço cmagent, clique com o botão direito do mouse e selecione propriedades, e então revise a aba “Log On”. Para DPX usar plink efetivamente, uma chave do host deve estar em cache dentro do registro HKEY_CURRENT_USER para a conta de login do serviço cmagent indicada. O problema é que ‘Conta de Sistema Local’ não tem forma directa de entrar na consola e semear facilmente estes valores.

Existem duas possibilidades:

  • Criar uma conta de administrador que tenha acesso total a todo o hardware da máquina local e interfaces de aplicação suportadas
  • Utilizar “Conta de Sistema Local”

Em geral, o método mais fácil é criar uma conta de administrador que tenha acesso total a todo o hardware da máquina local e interfaces de aplicação suportadas. Um administrador de máquina local ou uma conta de administrador de domínio normalmente funciona, embora qualquer conta seja suficiente se ela tiver as permissões necessárias para que operações de backup e restauração DPX funcionem corretamente. Uma vez criada a conta, faça o seguinte:

  1. Vá para o gerenciador de serviços do Windows e mude os serviços DPX (especialmente o cmagent) para usar esta nova conta. Teste um trabalho de proteção de dados para garantir que esta conta funcione para DPX.
  2. Log in under this account e traga uma shell de comandos. Para cada host ao qual você precisa se conectar, invoque “plink -ssh user@host-name”, e quando solicitado sobre a impressão digital chave, responda ‘y’ para armazenar o valor. Nenhum outro comando é necessário; pode sair de qualquer shell interactivo que seja invocado.

Os valores necessários estão armazenados em cache em:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Deixe uma resposta

O seu endereço de email não será publicado.