Pasar la password por ssh en modo no interactivo.

por | 12 febrero, 2016

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.

11 pensamientos en “Pasar la password por ssh en modo no interactivo.

  1. tannhausser

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

    Responder
    1. Anger Pulido

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

      Responder
  2. monxp

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

    Responder
      1. monxp

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

        Responder
  3. Cristian

    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.

    Responder
    1. Anger

      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

      Responder
  4. Anger

    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

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.