Sshpass, es una pequeña herramienta diseñada para ejecutar ssh usando el modo no interactivo, utiliza el acceso a la TTY para simular que la contraseña es escrita por un usuario final.
Sshpass es una forma mas de conectarnos a un servidor remoto. En particular es adecuada, cuando necesitamos desarrollar una aplicación de uso momentáneo y necesitamos pasar la contraseña en el código de programación.
Dentro de las desventajas que tiene está la visualización de la contraseña en texto plano, por lo que podrías considerar un método mas seguro, como la autentificación por medio de llaves.
El proceso de instalación es muy simple, para distribuciones basadas en Debian, como Ubuntu, podemos instalarla con solo ejecutar desde la consola.
sudo apt-get install sshpass
Las opciones mas comunes que presenta sshpass son:
-p : indica el parámetro, que contiene la contraseña.
-f : Indicamos el archivo que contiene la contraseña, en la primera linea.
Algunos casos de uso aplicable, podemos describirlos en el siguiente ejemplo.
- Si deseamos copiar un archivo, a un servidor remoto con scp:
sshpass -p "ClaveEnTextoPlano" scp ArchivoEnviado.txt UsuarioServidorRemoto@IP:/Ruta/De/La/Carpeta/Del/Servidor/Remoto
- También podemos indicarle que lea la password desde un archivo, donde la primer linea contiene la clave del usuario que se esta usando para conectarse con el servidor remoto.
sshpass -f ArchivoConLaClave scp ArchivoEnviado.txt UsuarioServidorRemoto@IP:/Ruta/De/La/Carpeta/Del/Servidor/Remoto
Está claro que es una de las opciones menos segura, ya que con un simple ps podemos ver la clave, pero nunca esta de mas conocer la existencia de esta herramienta, que por mi parte le llamaría, la salida rápida.
Gracias por este post @Anger! Es bueno tenerte por aquí después de tanto tiempo.
Gracias amigo Jose, por aquí de nuevo «replicando» lo que se aprende a diario.
La verdad es que es muy interesante. No lo conocía. Muchas gracias.
¡¡Eso no se hace!! Me pasé toda la semana pasada intentando preparar un sistema de backup automático a un NAS que no admitía certificados. El viernes, desesperado, tuve que hacer un apaño para que funcionara y ahora leo esto.
Ahora en serio, muchas gracias, voy a modificar el sistema de backup que monté por este.
Que bueno, que te sea de ayuda. Todos los días aprendemos algo «nuevo».
Ha funcionado perfectamente. Los backups del nuevo servidor de BBDD se guardan en remoto automáticamente gracias a tí. 😉
Queda pendiente, el proceso de restaurar esos respaldos.
buenos dias,
como podria conectarme a una maquina por ssh indicando la contraseña en la misma linea sin instalar sshpass o interact,, se podria?
Gracias.de abtemano.
como se regresa de moco no interactivo al modo tradicional?
Seria de este forma:
scp /ruta/al/archivo-origen usuario@ordenador:/ruta/al/directorio-destino/
Y esperas que te pida la password!
Espero sea util la respuesta
Seria de este forma:
scp /ruta/al/archivo-origen usuario@ordenador:/ruta/al/directorio-destino/
Y esperas que te pida la password!
Espero sea util la respuesta