Ansible

Zainstaluj Ansible na Debianie do automatyzacji

Zainstaluj Ansible na Debianie do automatyzacji

Topologia sieci

Tutaj, ansible-PC to maszyna z Debianem 10, na której zainstalujemy Ansible.

Serwery 6f7c2 i 6b219 to maszyny Debian 10, które skonfigurujemy pod kątem automatyzacji Ansible. Na potrzeby tego artykułu będę po prostu nazywał te serwery hostami Ansible.

Z Ansible możemy korzystać od ansible-PC zautomatyzować różne zadania w 6f7c2 i 6b219 Serwery Debiana.

Instalowanie Ansible

W tej sekcji pokażę, jak zainstalować Ansible na ansible-PC.

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

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

$ sudo apt aktualizacja

Teraz zainstaluj Ansible za pomocą następującego polecenia:

$ sudo apt install ansible

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

Należy zainstalować ansible.

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

$ ansible --wersja

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

Generowanie klucza SSH

Na komputerze z Debianem 10 (ansible-PC) gdzie zainstalowałeś Ansible, musisz najpierw wygenerować klucz SSH.

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

$ ssh-keygen

Teraz naciśnij .

naciśnij .

naciśnij .

Należy wygenerować klucz SSH.

Konfigurowanie hostów Debiana pod kątem automatyzacji Ansible

W tej sekcji pokażę, jak skonfigurować hosta Debiana do automatyzacji Ansible. Jeśli masz wiele hostów, które chcesz zautomatyzować za pomocą Ansible, 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:

$ sudo apt aktualizacja

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, powinien zostać zainstalowany przed tym krokiem.

Teraz sprawdź, czy sshd usługa jest uruchamiana za pomocą następującego polecenia:

$ sudo systemctl status sshd

Jak widać, sshd usługa jest aktywny (bieganie) i włączone (uruchamia się automatycznie przy starcie systemu).

Jeśli sshd usługa jest nieaktywny (uruchomiony), uruchom go ręcznie za pomocą następującego polecenia:

$ sudo systemctl start sshd

Jeśli sshd usługa nie jest włączone (nie dodany do startu systemu) w twoim przypadku dodaj go do startu systemu ręcznie za pomocą następującego polecenia:

$ sudo systemctl włącz sshd

Teraz utwórz ansibl użytkownika i zezwól na dostęp sudo bez hasła do ansibl użytkownik.

Aby stworzyć ansibl użytkownika, uruchom następujące polecenie:

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

Wpisz hasło dla ansibl użytkownik i naciśnij .

Wpisz ponownie hasło i naciśnij .

Na ansibl należy utworzyć użytkownika.

Teraz, aby umożliwić dostęp sudo bez hasła do ansibl użytkownik, edytuj /etc/sudoers plik za pomocą następującego polecenia:

$ sudo visudo

Teraz dodaj następującą linię do /etc/sudoers plik.

ansible ALL=(ALL) NOPASSWD:ALL

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

Teraz znajdź adres IP hosta Ansible 6f7c2 za pomocą następującego polecenia:

$ nazwa hosta -I

Tutaj adres IP w moim przypadku to 192.168.20.167. Dla ciebie będzie inaczej. Więc pamiętaj, aby teraz zastąpić ten adres własnym formularzem.

Kopiowanie klucza publicznego SSH do hosta Ansible

Z komputera, na 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 ansibl użytkownik i naciśnij .

Publiczny klucz SSH należy skopiować do hosta Ansible 6f7c2.

Powinieneś być w stanie połączyć się przez SSH z hostem Ansible 6f7c2 jako użytkownik ansibl bez hasła, jak widać na poniższym zrzucie ekranu:

$ ssh [email protected]

Powinieneś także móc uruchamiać polecenia sudo bez pytania o hasło.

$ sudo ls /

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

$ wyjdź

Zabezpieczanie hostów Ansible

Jako ansibl użytkownik może uruchomić dowolne polecenie sudo bez pytania o hasło, skonfigurowaliśmy logowanie oparte na kluczu SSH dla hostów Ansible. Ale nadal możesz SSH do hostów Ansible jakos ansibl użytkownik używający hasła użytkownika of ansibl użytkownik. Więc to nie jest zbyt bezpieczne.

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

$ sudo usermod -L ansible

Jeśli później zdecydujesz się włączyć logowanie oparte na hasłach dla ansibl użytkownika, uruchom następujące polecenie na hoście Ansible:

$ sudo usermod -U ansible

Testowanie Ansible

Utwórz nowy katalog projektów ~/projekt/ na maszynie Debian, na której zainstalowałeś Ansible (ansible-PC) za pomocą kodu:

$ mkdir ~/projekt

Przejdź do to ~/projekt/ katalog używając następującego kodu:

$ cd ~/projekt/

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

$nano hosty

Teraz wypisz 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

Gdy skończysz, zapisz plik, naciskając + X śledzony przez Tak a potem uderzył .

Aby przetestować, spróbuj pingować wszystkie hosty za pomocą Ansible z następującym kodem:

$ ansible -i ./hosts all -u ansible -m ping

UWAGA: Tutaj -ty opcja służy do określenia nazwy użytkownika (ansibl w tym przypadku), których Ansible użyje do SSH do hostów.

Jak widać, Ansible ma dostęp do wszystkich hostów. Tak więc hosty są gotowe na automatyzację Ansible.

Tak więc instalujesz Ansible na Debianie 10 i konfigurujesz hosty Debiana do automatyzacji Ansible. Dziękuję za przeczytanie tego artykułu.

Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
Gry OpenTTD Tutorial
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
Gry SuperTuxKart for Linux
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...