sshpass: Inicio de sesión en el servidor SSH / Proporcionar contraseña SSH utilizando una secuencia de comandos de Shell

¿Cómo puedo iniciar sesión en ssh sin usar contraseña de claves públicas RSA/DSA? ¿Cómo uso ssh en un script de shell? ¿Cómo puedo acceder a la autenticación de contraseñas con SSH y shell de forma no interactiva?

Estas son las preguntas que guían este artículo.

Puede utilizar el comando sshpass para proporcionar la contraseña para el inicio de sesión en un servidor via ssh. Esta es una herramienta de autenticación de contraseña ssh no interactiva. Desde la página de manual, nos dice:

Sshpass es una utilidad diseñada para ejecutar ssh utilizando el modo denominado “teclado-interactivo” de autenticación de contraseña, pero en modo no interactivo.

Ssh utiliza el acceso directo de TTY para asegurarse de que la contraseña es efectivamente emitida por un usuario desde el modo de teclado interactivo. Sshpass ejecuta ssh en un tty dedicado, engañándolo pensando que está recibiendo la contraseña de un usuario interactivo.

El comando para ejecutar se especifica después de las propias opciones de sshpass. Normalmente será “ssh” con argumentos, pero también puede ser cualquier otro comando. Sin embargo, la solicitud de contraseña utilizada por ssh está actualmente codificada en sshpass.

Instalar sshpass en Debian / Ubuntu Linux

Escriba el siguiente comando:

La salidad del comando sería algo como lo siguiente:

Instalación de sshpass en Debian / Ubuntu Linux
Instalación de sshpass en Debian / Ubuntu Linux

 

Instalar sshpass bajo RHEL / CentOS Linux

Primero, habilite el repositorio EPEL y escriba el siguiente comando yum:

 

Si está utilizando Fedora Linux, escriba:

Instalar sshpass en Arch Linux

Instalar sshpass en OpenSUSE Linux

¿Cómo uso sshpass en Linux o Unix?

Inicie sesión en el servidor ssh llamado server.ejemplo.com con la contraseña llamada [email protected]:

Para la secuencia de comandos de shell, es posible que deba desactivar la comprobación de la clave de host:

Advertencia de seguridad: La opción -p debe considerarse la menos segura de todas las opciones de sshpass. Le recomiendo que utilice la autenticación de clave pública de ssh.

Un ejemplo de script de shell bash con SSHPASS

La sintaxis podría ser:

La contraseña se pasa como una variable de entorno llamada SSHPASS.

Leer la contraseña del archivo

Otra opción es leer la contraseña del archivo mediante la opción -f. La sintaxis es:

Cree un archivo de la siguiente manera:

Ejemplo: ¿Cómo puedo copiar /var/www/html usando rsync?

Ejecute rsync a través de SSH mediante autenticación de contraseña, pasando la contraseña en la línea de comandos:

O, de esta otra manera:

¿Cómo uso sshpass  con cifrado gpg?

En primer lugar, cree un archivo de la siguiente manera:

Ahora, encripte un archivo usando el comando gpg:

Por último, úsalo de la siguiente manera:

 

Deja un comentario

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