Debido al hecho de que respondí esto en 2014, he actualizado mi respuesta para tener en cuenta las versiones más recientes de ansible.
Sí, puede hacerlo a nivel de host / inventario (que se hizo posible en las versiones más recientes de ansible ) o a nivel global:
inventario :
Agregue lo siguiente.
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
anfitrión :
Agregue lo siguiente.
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Las opciones de hosts / inventario funcionarán con el tipo de conexión ssh
y no paramiko
. Algunas personas pueden argumentar firmemente que el inventario y los hosts son más seguros porque el alcance es más limitado.
global:
Guía del usuario de Ansible: comprobación de la clave del host
Puede hacerlo en el archivo /etc/ansible/ansible.cfg
o ~/.ansible.cfg
:
[defaults]
host_key_checking = False
O puede configurar y env variable (esto podría no funcionar en versiones más nuevas de ansible):
export ANSIBLE_HOST_KEY_CHECKING=False
ANSIBLE_HOST_KEY_CHECKING
funciona pero-e 'host_key_checking=False'
no funciona.ansible_ssh_common_args='-o StrictHostKeyChecking=no'
oansible_ssh_extra_args='-o StrictHostKeyChecking=no'
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
o
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, noparamiko
o algo más).Por ejemplo, una definición de host Vagrant se vería así ...
o
La ejecución de Ansible se realizará correctamente sin cambiar ninguna variable de entorno.
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:
fuente
ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
en el archivo yml archivo group_vars.No pude usar:
en archivo de inventario. Parece que ansible no considera esta opción en mi caso (ansible 2.0.1.0 de pip en ubuntu 14.04)
Decidí usar:
Me ayudó.
También puede establecer esta variable en grupo en su lugar para cada host:
fuente
UserKnownHostsFile
/GlobalKnownHostsFile
en/dev/null
también funciona. Es extraño que la configuraciónStrictHostKeyChecking
no funcione para usted. Lo más probable es que la causa sea alguna opción en su configuración SSH.-o UserKnownHostsFile=/dev/null
. Sin él, tampoco funcionó para mí, independientemente de la ubicación y la forma que especifiqué que seansible_ssh_common_args
describe en las otras respuestas.En
/etc/ansible/ansible.cfg
descomentar la línea:y en
/etc/ansible/hosts
descomentar la lineaEso es todo
fuente
Agregar lo siguiente a la configuración de ansible funcionó al usar comandos ad-hoc de ansible:
Versión Ansible
fuente
Establece estas configuraciones, ya sea en el
/etc/ansible/ansible.cfg
o~/.ansible.cfg
oansible.cfg
archivo (en el directorio actual)probado con ansible 2.9.6 en ubuntu 20.04
fuente