Zainstaluj ANSIBLE na Debian w celu automatyzacji

Zainstaluj ANSIBLE na Debian w celu automatyzacji

Topologia sieci

Tutaj, ansible-pc jest maszyną Debian 10, w której zainstalujemy Ansible.

Serwery 6f7c2 I 6B219 to maszyny Debian 10, które skonfigurujemy dla automatyzacji Ansible. Po prostu zadzwonię do tych serwerów hostów na potrzeby tego artykułu.

Możemy użyć ansible z ansible-pc Aby zautomatyzować różne zadania w 6f7c2 I 6B219 Serwery Debiana.

Instalowanie Ansible

W tej sekcji pokażę, jak zainstalować Ansible ON ansible-pc.

Możesz zainstalować Ansible na Debian 10 z oficjalnego repozytorium pakietów Debiana.

Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:

Aktualizacja $ sudo apt

Teraz zainstaluj ansible z następującym poleceniem:

$ sudo apt instal instalue ansible

Aby potwierdzić instalację, naciśnij Y a następnie naciśnij .

Ansible powinien być zainstalowany.

Teraz uruchom następujące polecenie, aby sprawdzić, czy Ansible działa poprawnie.

$ ansible --version

Jak widać, polecenie Ansible jest dostępne i działa poprawnie. Ansible 2.7.7 to najnowsza wersja Ansible dostępna w repozytorium pakietów Debian w momencie napisania tego artykułu.

Generowanie klucza SSH

Na maszynie Debian 10 (ansible-pc) Tam, gdzie zainstalowałeś Ansible, musisz najpierw wygenerować klucz SSH.

Aby wygenerować klucz SSH, uruchom następujące polecenie:

$ ssh-keygen

Teraz naciśnij .

Naciskać .

Naciskać .

Należy wygenerować klucz SSH.

Konfigurowanie hostów Debiana do automatyzacji Ansible

W tej sekcji pokażę, jak skonfigurować host Debian dla ANSIBLE Automation. Jeśli masz wiele hostów, które chcesz zautomatyzować za pomocą ANSable, powtórz ten sam proces dla każdego z hostów.

Hosty, które chcesz skonfigurować dla automatyzacji Ansible, muszą mieć wstępnie zainstalowany pakiet serwera SSH.

Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Apt za pomocą następującego polecenia:

Aktualizacja $ sudo apt

Następnie zainstaluj serwer OpenSSH za pomocą następującego polecenia:

$ sudo apt install openSsh -server -y

W moim przypadku pakiet serwera OpenSsh jest już zainstalowany. Jeśli nie jest zainstalowany w twoim przypadku, należy go zainstalować przed tym krokiem.

Teraz sprawdź, czy Sshd Usługa działa za pośrednictwem następującego polecenia:

$ sudo Systemctl Status Sshd

Jak widać, Sshd Usługa jest aktywny (bieganie) i włączony (automatycznie uruchomi się od rozruchu systemowego).

Jeśli Sshd Usługa jest nieaktywny (Uruchamianie), zacznij go ręcznie od następującego polecenia:

$ sudo systemctl start sshd

Jeśli Sshd Usługa nie jest włączony (Nie dodano do uruchamiania systemowego) W swoim przypadku dodaj go do uruchomienia systemowego ręcznie za pomocą następującego polecenia:

$ sudo systemctl włącz SSHD

Teraz stwórz Ansible Użytkownik i pozwól sudo bez hasła do dostępu do Ansible użytkownik.

Aby utworzyć Ansible Użytkownik, uruchom następujące polecenie:

$ sudo adduser -Shell /bin /bash - -gecos "" ansible

Wpisz hasło dla Ansible Użytkownik i naciśnij .

Wpisz hasło i naciśnij .

Jakiś Ansible Użytkownik powinien zostać utworzony.

Teraz, aby umożliwić sudo bez hasła do dostępu do Ansible użytkownik, edytuj /etc/sudoers Plik z następującym poleceniem:

$ sudo visudo

Teraz dodaj następujący wiersz do /etc/sudoers plik.

ansible all = (all) nopasswd: wszystko

Następnie zapisz plik, naciskając + X śledzony przez Y, a następnie naciśnij .

Teraz znajdź adres IP hosta Ansible 6f7c2 Z następującym poleceniem:

$ hostName -i

Tutaj adres IP w moim przypadku to 192.168.20.167. Będzie dla Ciebie inaczej. Pamiętaj więc, aby teraz zastąpić ten adres własnym formularzem.

Kopiowanie klucza publicznego SSH do hosta Ansible

Z komputera, w którym zainstalowałeś Ansible (ansible-pc), skopiuj klucz publiczny SSH do hosta Ansible 6f7c2 następująco:

$ ssh-copy-id [email protected]

Wpisz Tak i naciśnij .

Następnie wpisz hasło dla Ansible Użytkownik i naciśnij .

Publiczny klucz SSH powinien zostać skopiowany do hosta Ansible 6f7c2.

Powinieneś być w stanie SSH do hosta Ansible 6f7c2 jako użytkownik Ansible Bez hasła, jak widać na zrzucie ekranu poniżej:

$ ssh [email protected]

Powinieneś także być w stanie uruchomić polecenia Sudo bez monitowania o hasło.

$ sudo ls /

Na koniec zamknij sesję SSH w następujący sposób:

$ exit

Zabezpieczenie hostów Ansible

Jak Ansible Użytkownik może uruchomić dowolne polecenie sudo bez monitowania o hasło, skonfigurowaliśmy login oparty na klawiszach SSH dla hostów ansible. Ale nadal możesz SSH w hostach ansible Ansible użytkownik używa hasła Ansible użytkownik. To nie jest zbyt bezpieczne.

Aby poprawić bezpieczeństwo, uruchom następujące polecenie na hostach ansible, aby wyłączyć login oparty na hasłach dla Ansible użytkownik:

$ sudo usermod -l ansible

Jeśli później zdecydujesz się włączyć login oparty na hasłach Ansible Użytkownik, uruchom następujące polecenie na hoście Ansible:

$ sudo usermod -u ansible

Testowanie ansible

Utwórz nowy katalog projektu ~/projekt/ na maszynie Debian, gdzie zainstalowałeś Ansible (ansible-pc) Korzystanie z następującego kodu:

$ mkdir ~/projekt

Przejść do ~/projekt/ Katalog używającego następującego kodu:

$ CD ~/Project/

Stwórz nowy zastępy niebieskie Plik w katalogu projektu w następujący sposób:

$ nano gospodarze

Teraz wymień adresy IP lub nazwy DNS hostów Ansible (6f7c2 I 6B219 w moim przypadku) w zastępy niebieskie plik:

192.168.20.167
192.168.20.168

Po zakończeniu zapisz plik, naciskając + X śledzony przez Y a potem uderzył .

Aby przetestować, spróbuj pingować wszystkich hostów za pomocą ansible z następującym kodem:

$ ansible -i ./Hosts All -u ansible -m ping

NOTATKA: Tutaj -u Opcja służy do określenia nazwy użytkownika (Ansible w takim przypadku), którego Ansible użyje do SSH do hostów.

Jak widać, Ansible może uzyskać dostęp do wszystkich hostów. Tak więc gospodarze są gotowi do automatyzacji Ansible.

W ten sposób instalujesz Ansible na Debian 10 i konfigurujesz hosty Debian w celu automatyzacji Ansible. Dziękuję za przeczytanie tego artykułu.