sshpass: Establecer una conexión ssh de modo no interactivo - Electronik-Pro, Informatica, Noticas,Wordpress,Facebook,Hacking,Programas,Hosting,Dominios

Es más seguro utilizar un mecanismo de autentificación basado en clave pública cuando queremos establecer una conexión ssh de forma no interactiva, pero en ocasiones, necesitamos o queremos que al hacer el ssh no se nos pida el password. Para ésto nos viene muy bien sshpass.

Puesto que ssh es una herramienta interactiva, sshpass está pensado para permitirnos establecer conexiones ssh no-interactivas.

Podemos encontrar sshpass en los repositorios de Debian, por lo que instalarlo es trivial:

# apt-get install sshpass

Veamos ahora unos ejemplos de cómo podemos utilizarlo:

El uso más sencillo es especificar el password con el parámetro -p:

$ sshpass -p "mipassword" ssh usuario@host

Podemos combinar sshpass con rsync para sincronizar, por ejemplo, una carpeta de nuestro equipo con la de una máquina remota:

$ rsync -e 'sshpass -p mipassword ssh -l usuariobackup'  -aSv Documentos root@192.168.1.100:/var/copiaseguridad/

Como podemos ver, le decimos a rsync que utilice el usuario usuariobackup (ssh -l usuariobackup) con la password mipassword (sshpass -p mipassword).

Este mecanismo no es muy seguro porque ejecutando un simple ps, se puede ver la password.

Podríamos guardar la password en un fichero y hacer que sshpass lea la password de dicho fichero:

$ rsync -e 'sshpass -f passwordfile ssh -l usuariobackup'  -aSv Documentos root@192.168.1.100:/home/copiaseguridad/

Otro modo que he encontrado buscando información en google para hacer lo mismo usando un descriptor de archivo:

$ rsync -e 'sshpass -d 100 ssh -l root' -aSv Documentos root@192.168.1.100:/home/copiaseguridad/ 100<<<"mipassword"

0 comentarios:

Publicar un comentario

 
Top