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 ssh
tipo de conexión, no paramiko
o 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_CHECKING
funciona pero-e 'host_key_checking=False'
no funciona.