Так, ви можете встановити це на рівні інвентаризації / хоста.
При вже прийнятій відповіді я вважаю, що це краща відповідь на питання про те, як впоратися з цим на рівні запасів. Я вважаю це більш безпечним, виділяючи це небезпечне налаштування для необхідних для цього хостів (наприклад, тест-системи, локальні машини для розробки).
Що ви можете зробити на рівні інвентаризації, це додати
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
або
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
до визначення вашого господаря (див. Параметри інвентаризації відповідної поведінки ).
Це буде працювати, якщо ви використовуєте ssh
тип з'єднання, а не paramiko
щось інше).
Наприклад, визначення хост Vagrant виглядатиме як…
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
або
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Запуск Ansible буде успішним, не змінюючи жодної змінної середовища.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Якщо ви хочете зробити це для групи хостів, ось вам запропонувати доповнити групу вар для існуючої групи на зразок цієї:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
працює, але-e 'host_key_checking=False'
не працює.