Чи можу я обійти перевірку ключа хоста в Ansible?


19

Я запускаю програму "Ansible playbook" з тонким хаком для роботи на довільному порті, пересланому порту (тому я можу використовувати одну машину без прямого доступу до багатьох машин).

У мене є попереднє завдання змінити ansible_portзмінну, тож тоді, коли я починаю виконувати свої реальні завдання та ролі, мені пропонується прийняти хост-ключі для localhost на якомусь випадковому порту.

Оскільки я наївний і не дбаю про безпеку, я хотів би ssh автоматично приймати та перенаправляти /dev/null(або інший файл для ведення журналу).

Чи можливо це?


Це можна зробити за допомогою ssh-параметрів, які ви передаєте в ansible config.
Ірі Клоуда

Відповіді:


26

Зазвичай це робиться шляхом встановлення наступного значення в ansible.cfg:

[defaults]
host_key_checking = False

Якщо ви не хочете змінювати, ansible.cfgви можете встановити змінну середовища на зразок так:

export ANSIBLE_HOST_KEY_CHECKING=False

Джерело: http://docs.ansible.com/ansible/intro_getting_started.html#host-key-checking


Я використовую MacOS і налаштовую host_key_checking = Неправдиво, але все-таки я отримав "ПОПЕРЕДЖЕННЯ: МОЖЛИВО ДОНСУВАННЯ DNS виявлено!". Я це виправив після того, як я зрозумів, що раніше я підключився до цільового хоста з таким самим іменем, а потім відновив його, щоб у ./ssh/known_hosts був старий ключ.
Чад Джуліано

21

У свій ansible.cfgфайл потрібно додати такий рядок:

ssh_args = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

Ви також можете додати ці параметри у свою ~/.ssh/configмашину на кожній машині, з якої ви запускаєте її приблизно так:

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

1
Це має спрацювати. Також перегляньте файл ansible.cfg для отримання додаткових налаштувань :)
Dawny33

+1 для доповнення Дауні, оскільки тим, хто використовує Параміко, потрібно буде використовувати ansible.cfg
Woodland Hunter

1
Чи є відповідний спосіб встановити це всередині ігрової книги? Я спробував, ansible_ssh_common_argsі ansible_ssh_extra_argsце не перевершує те, що я отримав у ansible.cfg. У мене є ansible.cfg, який я використовую для всього іншого, і я скоріше просто замінюватимуть ці параметри для цього виду ігрової книги, ніж скопіювати її просто для внесення змін.
Пітер Тернер

3
Я не можу говорити з цими змінними, Пітер, але ти можеш помістити модифікований ansible.cfg у каталог із цією книжкою, і це матиме перевагу.
Woodland Hunter

1
UserK knownHostsFile = / dev / null повністю порушує безпеку ssh
mmv-ru
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.