Cómo usar el inicio de sesión con contraseña de SSH en Ansible utilizando sshpass
En Ansible, SSH es el método preferido para la conexión entre máquinas remotas. Sin embargo, el inicio de sesión de SSH se realiza generalmente mediante el uso de una clave pública/privada. A veces, existen casos en los que el inicio de sesión con clave pública no es viable, como en los entornos de desarrollo locales o en las pruebas de concepto. En tales casos, se usa el inicio de sesión con contraseña de SSH. sshpass es una herramienta que permite conectarse a una máquina remota mediante el uso de una contraseña. Esta guía detalla cómo se puede usar sshpass para el inicio de sesión de SSH en Ansible sin la necesidad de una clave pública/privada.
Requisitos previos
- Ansible instalado en la máquina local.
- SSH instalado en la máquina local.
- SSH instalado y configurado en la máquina remota.
- sshpass instalado en la máquina local y la máquina remota.
Métodos de inicio de sesión de SSH en Ansible
Iniciar sesión de SSH con clave pública/privada
SSH usa claves públicas y privadas para verificar la identidad del usuario remoto. Iniciar sesión de SSH con clave pública/privada se realiza sin necesidad de ingresar una contraseña cada vez que se establece una conexión entre máquinas remotas. Este método se recomienda para una conexión segura.
Iniciar sesión de SSH con inicio de sesión con contraseña
Iniciar sesión de SSH con una contraseña requiere que el usuario ingrese una contraseña cada vez que se establece una conexión entre máquinas remotas. Este método se recomienda solo en los casos en los que el inicio de sesión con clave pública/privada no es viable.
Usando sshpass para la conexión de SSH
Instalar sshpass
En Ubuntu o Debian, sshpass se puede instalar mediante el siguiente comando de Bash:
apt-get install sshpass
En CentOS o Fedora, sshpass se puede instalar mediante el siguiente comando de Bash:
yum install sshpass
Usando sshpass con Ansible
Para usar sshpass con Ansible, se debe agregar un parametro adicional en el archivo de inventario.
ansible_ssh_pass=your_ssh_password
También se puede establecer una variable de entorno "ANSIBLE_SSH_PASS" con el valor de la contraseña.
Conclusión
El uso de sshpass para el inicio de sesión con contraseña de SSH en Ansible es una solución alternativa válida cuando el inicio de sesión con clave pública/privada no es viable. Es importante tener en cuenta que el inicio de sesión con contraseña de SSH no es tan seguro como el inicio de sesión con clave pública/privada. Se recomienda usar sshpass solo en casos excepcionales.
Preguntas frecuentes
¿Qué es sshpass?
Sshpass es una herramienta de línea de comandos que permite conectarse a una máquina remota mediante el uso de una contraseña.
¿Por qué el inicio de sesión con clave pública/privada es más seguro que el inicio de sesión con contraseña?
El inicio de sesión con clave pública/privada es más seguro que el inicio de sesión con contraseña porque las claves públicas y privadas son más difícil de descifrar que las contraseñas. Además, las claves públicas y privadas se cambian regularmente, lo que mejora aún más la seguridad.
¿En qué casos se usa el inicio de sesión con contraseña de SSH?
El inicio de sesión con contraseña de SSH se usa en casos excepcionales, como en los entornos de desarrollo locales o en las pruebas de concepto.
Deja una respuesta