Sim, você pode definir isso no nível de inventário / host.
Com uma resposta já aceita presente, acho que esta é uma resposta melhor para a pergunta sobre como lidar com isso no nível de estoque. Considero isso mais seguro isolando essa configuração insegura para os hosts necessários para isso (por exemplo, sistemas de teste, máquinas de desenvolvimento local).
O que você pode fazer no nível do inventário é adicionar
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ou
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
à sua definição de host (consulte Ansible Behavioral Inventory Parameters ).
Isso funcionará desde que você use o ssh
tipo de conexão, não paramiko
ou qualquer outra coisa).
Por exemplo, uma definição de host Vagrant seria semelhante a ...
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ou
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
A execução do Ansible será bem-sucedida sem alterar nenhuma variável de ambiente.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Caso você queira fazer isso para um grupo de hosts, aqui está uma sugestão para torná-lo um grupo var suplementar para um 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, mas-e 'host_key_checking=False'
não funciona.