Sí, puede configurar esto en el nivel de inventario / host.
Con una respuesta ya aceptada presente, creo que esta es una mejor respuesta a la pregunta sobre cómo manejar esto a nivel de inventario. Considero que esto es más seguro al aislar esta configuración insegura a los hosts necesarios para esto (por ejemplo, sistemas de prueba, máquinas de desarrollo local).
Lo que puede hacer a nivel de inventario es agregar
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
o
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
a su definición de host (consulte Parámetros de inventario de comportamiento de Ansible ).
Esto funcionará siempre que use el sshtipo de conexión, no paramikoo algo más).
Por ejemplo, una definición de host Vagrant se vería así ...
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
o
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
La ejecución de Ansible se realizará correctamente sin cambiar ninguna variable de entorno.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
En caso de que desee hacer esto para un grupo de hosts, aquí hay una sugerencia para convertirlo en una var de grupo complementaria para un grupo existente como este:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKINGfunciona pero-e 'host_key_checking=False'no funciona.