Solución alternativa de Ansible en macOS con el programa sshpass.
Estoy utilizando Homebrew para instalar Ansible en macOS Catalina (anteriormente lo instalé a través de pip según la documentación). El problema es que cuando intento usar un playbook de prueba, recibo el siguiente error:
target1 | ¡FALLÓ! => {
“msg”: “para usar el tipo de conexión ‘ssh’ con contraseñas, debe instalar el programa sshpass”
}
El problema es que sshpass no está disponible fácilmente en macOS a través de Homebrew, etc. He encontrado un par de opciones de instalación para esto, pero intenté hacer los siguientes cambios antes de instalar esto:
export ANSIBLE_HOST_KEY_CHECKING=False
host_key_checking=false dentro del ansible.cfg en el mismo directorio
Ninguno de los cambios anteriores funcionó, ¿debo simplemente instalar sshpass, o hay otra solución? ¿O debería simplemente usar VirtualBox y llamarlo un día?
Para referencia, este es el siguiente playbook, es una prueba simple de ping que estoy intentando usar en una Raspberry Pi local a la que ya he podido conectarme SSH:
–
name: Prueba de conectividad a servidores de destino
hosts: all
tasks:
– name: Prueba de ping
ping:
El archivo inventory.txt se ve así:
target1 ansible_host=192.168.x.x ansible_ssh_pass=<contraseña>
davy.ai
Parece que el problema está relacionado con el tipo de conexión “ssh” con contraseñas, lo cual requiere la instalación del programa “sshpass”. Como sshpass no está disponible en macOS a través de homebrew, etc., hay un par de opciones:
En cuanto a los cambios realizados en ANSIBLE_HOST_KEY_CHECKING y ansible.cfg, no están relacionados con el problema en cuestión y no deberían afectar el tipo de conexión.