Preciso executar o ssh na linha de comando do Windows , fornecendo a senha de maneira não interativa. Eu poderia implementar a autenticação baseada em chave e ser capaz de executar os comandos ssh assim como
ssh <user>@<host> <command>
Existe algum comando como
ssh <user>@<host> -P <password> <command>
Não sei se é viável. No entanto, pode haver alguma solução alternativa para o mesmo. Jogue-me algumas idéias para fazer o mesmo.
command-line
ssh
passwords
Balachandar
fonte
fonte
Respostas:
O plink do PuTTY tem um argumento de linha de comando para uma senha . Algumas outras sugestões foram feitas nas respostas a esta pergunta : usando Expect (que está disponível para Windows), ou escrever um lançador em Python com Paramiko.
fonte
O utilitário sshpass serve exatamente para isso. Primeiro, instale o sshpass digitando este comando:
Em seguida, acrescente seu comando ssh / scp com
Este programa é mais fácil de instalar ao usar o Linux.
O usuário deve considerar o uso de autenticação de chave pública mais segura do SSH (com o
ssh
comando).fonte
sudo port install sshpass
. Porém, se houver um problema de login devido a outra coisa, o sshpass tendia a falhar silenciosamente (sem mensagem de erro). Portanto, depure o comando semsshpass
primeiro; em seguida, adicionesshpass -p blah
(etc.).E quanto a esse script de espera?
fonte
expect
é notoriamente subestimado!Solução Windows
Windows-Key + R
putty.exe -ssh [username]@[hostname] -pw [password]
fonte
Solução PowerShell
Usando Posh-SSH:
fonte