Czy mogę ominąć sprawdzanie klucza hosta w Ansible?


19

Korzystam z podręcznika Ansible z subtelnym hackiem, aby pracować na porcie przekierowanym z dowolnego portu (dzięki czemu mogę korzystać z jednego komputera bez bezpośredniego dostępu do wielu komputerów).

Mam zadanie wstępne do zmiany ansible_portzmiennej, więc kiedy zaczynam uruchamiać moje prawdziwe zadania i role, pojawia się monit o zaakceptowanie kluczy hosta dla hosta lokalnego na jakimś losowym porcie.

Ponieważ jestem naiwny i nie dbam o bezpieczeństwo, chciałbym, aby ssh automatycznie akceptował i przekierowywał na /dev/null(lub inny plik do logowania).

czy to możliwe?


Możesz to zrobić za pomocą opcji ssh przekazywanych do konfiguracji ansible.
Jiri Klouda

Odpowiedzi:


26

Zazwyczaj odbywa się to poprzez ustawienie następującej wartości w ansible.cfg:

[defaults]
host_key_checking = False

Jeśli nie chcesz modyfikować ansible.cfg, możesz ustawić zmienną środowiskową w następujący sposób:

export ANSIBLE_HOST_KEY_CHECKING=False

Źródło: http://docs.ansible.com/ansible/intro_getting_started.html#host-key-checking


Korzystam z systemu MacOS i ustawiam host_key_checking = False, ale nadal pojawia się komunikat „OSTRZEŻENIE: MOŻLIWE WYKRYWANIE SPOOFOWANIA DNS!”. Naprawiłem to po tym, jak zdałem sobie sprawę, że wcześniej podłączyłem się do hosta docelowego o tej samej nazwie, a następnie przebudowałem go tak, aby był stary klucz w ./ssh/known_hosts.
Chad Juliano

21

W swoim ansible.cfgpliku musisz dodać następujący wiersz:

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

Możesz także dodać te opcje do swojego ~/.ssh/configna każdym komputerze, z którego go uruchomisz, mniej więcej tak:

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

1
To powinno działać. Zobacz też plik ansible.cfg , aby uzyskać więcej ustawień :)
Dawny33

+1 za dodanie Dawny'ego, ponieważ osoby używające Paramiko będą musiały użyć ansible.cfg
Woodland Hunter

1
Czy istnieje odpowiedni sposób, aby ustawić to w instrukcji? Próbowałem ansible_ssh_common_argsi ansible_ssh_extra_argsnie zastępuje tego, co mam w ansible.cfg. Mam plik ansible.cfg, którego używam do wszystkiego innego i wolałbym po prostu zastąpić te parametry dla tego typu poradnika, niż skopiować go tylko po to, aby dokonać tej zmiany.
Peter Turner

3
Nie mogę rozmawiać z tymi zmiennymi, Peter, ale możesz umieścić zmodyfikowany ansible.cfg w katalogu z tym podręcznikiem, a to będzie miało pierwszeństwo.
Woodland Hunter

1
UserKnownHostsFile = / dev / null całkowicie przerwał bezpieczeństwo ssh
mmv-ru
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.