Pasar la password por ssh en modo no interactivo.

ssh

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.

8 thoughts on “Pasar la password por ssh en modo no interactivo.”

  1. tannhausser says:

    Gracias por este post @Anger! Es bueno tenerte por aquí después de tanto tiempo.

    1. Anger Pulido says:

      Gracias amigo Jose, por aquí de nuevo “replicando” lo que se aprende a diario.

  2. miguel says:

    La verdad es que es muy interesante. No lo conocía. Muchas gracias.

  3. monxp says:

    ¡¡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.

    1. Anger Pulido says:

      Que bueno, que te sea de ayuda. Todos los días aprendemos algo “nuevo”.

      1. monxp says:

        Ha funcionado perfectamente. Los backups del nuevo servidor de BBDD se guardan en remoto automáticamente gracias a tí. 😉

        1. Anger Pulido says:

          Queda pendiente, el proceso de restaurar esos respaldos.

  4. Cristian says:

    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.

Deja un comentario