Ja, Sie können dies auf Inventar- / Hostebene festlegen.
Mit einer bereits akzeptierten Antwort denke ich, dass dies eine bessere Antwort auf die Frage ist, wie dies auf Inventarebene gehandhabt werden soll. Ich halte dies für sicherer, indem ich diese unsichere Einstellung auf die dafür erforderlichen Hosts (z. B. Testsysteme, lokale Entwicklungsmaschinen) isoliere.
Was Sie auf Inventarebene tun können, ist Hinzufügen
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
oder
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
zu Ihrer Host-Definition (siehe Ansible Behavioral Inventory Parameters) ).
Dies funktioniert, sofern Sie nicht den ssh
Verbindungstyp verwendenparamiko
oder etwas anderes).
Zum Beispiel würde eine Vagrant-Hostdefinition wie folgt aussehen ...
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
oder
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Das Ausführen von Ansible ist dann erfolgreich, ohne dass eine Umgebungsvariable geändert wird.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Wenn Sie dies für eine Gruppe von Hosts tun möchten, finden Sie hier einen Vorschlag, um es zu einer zusätzlichen Gruppenvariablen für eine vorhandene Gruppe wie diese zu machen:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
funktioniert,-e 'host_key_checking=False'
aber nicht.