Dos opciones: la primera, como dijiste en tu propia respuesta, es establecer la variable de entorno ANSIBLE_HOST_KEY_CHECKING
en False.
La segunda forma de configurarlo es ponerlo en un archivo ansible.cfg, y esa es una opción realmente útil porque puede configurarlo globalmente (a nivel de sistema o usuario, en /etc/ansible/ansible.cfg
o ~/.ansible.cfg
), o en un archivo de configuración en el mismo directorio como el libro de jugadas que estás ejecutando.
Para hacer eso, cree un ansible.cfg
archivo en una de esas ubicaciones e incluya esto:
[defaults]
host_key_checking = False
También puedes establecer muchos otros valores predeterminados útiles, como si se recopilan o no los hechos al comienzo de una jugada, si se combinan los hashes declarados en varios lugares o se reemplaza uno por otro, y así sucesivamente. Hay una gran lista de opciones aquí en los documentos de Ansible.
Editar: una nota sobre seguridad.
La validación de clave de host SSH es una capa de seguridad significativa para hosts persistentes ; si se conecta a la misma máquina muchas veces, es valioso aceptar la clave de host localmente.
Para instancias EC2 de mayor duración, tendría sentido aceptar la clave de host con una tarea ejecutada solo una vez en la creación inicial de la instancia:
- name: Write the new ec2 instance host key to known hosts
connection: local
shell: "ssh-keyscan -H {{ inventory_hostname }} >> ~/.ssh/known_hosts"
No hay un valor de seguridad para verificar las claves de host en instancias que se pone de pie dinámicamente y eliminar inmediatamente después de la ejecución del libro de jugadas, pero hay un valor de seguridad en la comprobación de claves de host para máquinas persistentes. Por lo tanto, debe administrar la comprobación de claves de host de manera diferente por entorno lógico.
- Deje la comprobación habilitada de forma predeterminada (en
~/.ansible.cfg
)
- Deshabilite la comprobación de la clave de host en el directorio de trabajo para los libros de jugadas que ejecuta contra instancias efímeras (
./ansible.cfg
junto con el libro de jugadas para pruebas unitarias contra máquinas virtuales vagabundas, automatización para instancias ec2 de corta duración)