Chciałbym użyć ansible do zarządzania grupą istniejących serwerów. Utworzyłem ansible_hosts
plik i pomyślnie przetestowałem (z -K
opcją) poleceniami skierowanymi tylko na jeden host
ansible -i ansible_hosts host1 --sudo -K # + commands ...
Mój problem polega na tym, że hasła użytkowników na każdym hoście są różne, ale nie mogę znaleźć sposobu na poradzenie sobie z tym w Ansible.
Używając -K
, jestem proszony tylko o jedno hasło sudo z góry, które wydaje się być wypróbowane dla wszystkich kolejnych hostów bez pytania:
host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password
Dotychczasowe badania:
pytanie StackOverflow z jednej błędnej odpowiedzi ( „Use
-K
”) i jednej odpowiedzi przez autora mówiąc: «Okazało się, że potrzebne pozbawione hasła sudo»Dokumenty Ansible , które mówią: „Korzystanie z sudo bez hasła ułatwia automatyzację, ale nie jest wymagane ”. (moje podkreślenie)
to pytanie bezpieczeństwa StackExchange, które przyjmuje je jako przeczytane, które
NOPASSWD
jest wymaganeartykuł „Skalowalne i zrozumiałe udostępnianie ...”, który mówi:
„uruchomienie sudo może wymagać wpisania hasła, co jest pewnym sposobem na zablokowanie Ansible na zawsze. Prostą poprawką jest uruchomienie visudo na hoście docelowym i upewnienie się, że użytkownik Ansible użyje się do zalogowania, nie musi wpisywać hasła”
artykuł „Podstawowe Ansible Playbooks” , który mówi
„Ansible może zalogować się na serwerze docelowym jako root i uniknąć potrzeby sudo lub pozwolić użytkownikowi na sudo bez hasła, ale sama myśl o tym powoduje, że moja śledziona grozi przeskoczeniem przełyku i zablokowaniem tchawicy, więc ja nie „
Dokładnie moje myśli, ale jak wyjść poza pojedynczy serwer?
numer ansible nr 1227 : „Ansible powinien poprosić o hasło sudo dla wszystkich użytkowników w podręczniku”, który rok temu został zamknięty przez mpdehaan z komentarzem „Nie widziałem dużego popytu na to, myślę, że większość ludzi sudo od jednego konto użytkownika lub przez większość czasu używając kluczy. ”
Więc ... jak ludzie używają Ansible w takich sytuacjach? Ustawienie NOPASSWD
w /etc/sudoers
, ponowne hasło całej hostów lub umożliwiające logowanie SSH korzeń wszystko wydaje się dość drastyczne zmniejszenie bezpieczeństwa.
sudo
(co nadal powinno wymagać hasła).
ansible_ssh_password
ustawienie dotyczy tylko hasła SSH (wskazówka znajduje się w nazwie ...). I już używam logowania SSH opartego na kluczach.