Necesito ejecutar ssh desde la línea de comandos de Windows proporcionando la contraseña de una manera no interactiva. Podría implementar la autenticación basada en claves y poder ejecutar los comandos ssh como
ssh <user>@<host> <command>
¿Hay algún comando como
ssh <user>@<host> -P <password> <command>
No sé si es factible. Sin embargo, puede haber algunas soluciones para lo mismo. Tírame algunas ideas para lograr lo mismo.
command-line
ssh
passwords
Balachandar
fuente
fuente
Respuestas:
Plink de PuTTY tiene un argumento de línea de comandos para una contraseña . Se han hecho algunas otras sugerencias en las respuestas a esta pregunta : usar Expect (que está disponible para Windows) o escribir un lanzador en Python con Paramiko.
fuente
La utilidad sshpass está destinada exactamente a esto. Primero, instale sshpass escribiendo este comando:
Luego anteponga su comando ssh / scp con
Este programa es más fácil de instalar cuando se usa Linux.
El usuario debe considerar usar la autenticación de clave pública más segura de SSH (con el
ssh
comando) en su lugar.fuente
sudo port install sshpass
. Sin embargo, si hay un problema al iniciar sesión debido a algo más, sshpass tiende a fallar silenciosamente (sin mensaje de error). Así que depure el comando sinsshpass
primero; luego agreguesshpass -p blah
(etc.).¿Qué pasa con este guión de espera?
fuente
expect
es notoriamente subestimado!Solución de Windows
Windows-Key + R
putty.exe -ssh [username]@[hostname] -pw [password]
fuente
Solución PowerShell
Usando Posh-SSH:
fuente