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.