Oui, vous pouvez définir cela au niveau de l'inventaire / de l'hôte.
Avec une réponse déjà acceptée, je pense que c'est une meilleure réponse à la question de savoir comment gérer cela au niveau des stocks. Je considère cela plus sûr en isolant ce paramètre non sécurisé aux hôtes requis pour cela (par exemple, les systèmes de test, les machines de développement local).
Ce que vous pouvez faire au niveau de l'inventaire, c'est ajouter
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ou
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
à votre définition d'hôte (voir Paramètres d'inventaire comportemental Ansible ).
Cela fonctionnera à condition que vous utilisiez le ssh
type de connexion, pas paramiko
ou autre chose).
Par exemple, une définition d'hôte Vagrant ressemblerait à…
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'
L'exécution d'Ansible sera alors réussie sans changer aucune variable d'environnement.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Dans le cas où vous souhaitez faire cela pour un groupe d'hôtes, voici une suggestion pour en faire une var de groupe supplémentaire pour un groupe existant comme ceci:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
fonctionne mais-e 'host_key_checking=False'
ne fonctionne pas.