Netzwerktopologie:
Hier die linuxhint-711ea ist ein Ubuntu 20.04 LTS-Maschine, auf der ich Ansible installieren werde.
Dann konfiguriere ich die Hosts host1 (IP-Adresse 192.168.20.162) und host2 (IP-Adresse 192.168.20.153) für die Ansible-Automatisierung und führen Sie mit Ansible Befehle auf ihnen aus linuxhint-711ea Maschine.
Ich rufe einfach an host1 und host2 als Ansible-Hosts in diesem Artikel.
Ansible installieren:
Sie können Ansible ganz einfach auf Ubuntu 20 . installieren.04 LTS aus dem offiziellen Paket-Repository von Ubuntu.
Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:
$ sudo apt-Update
Der Cache des APT-Paket-Repositorys sollte aktualisiert werden.
Installieren Sie nun Ansible mit dem folgenden Befehl:
$ sudo apt install ansible
Um die Installation zu bestätigen, drücken Sie Ja und drücke dann
Ansible sollte installiert sein.
Führen Sie nun den folgenden Befehl aus, um zu überprüfen, ob ansible korrekt funktioniert.
$ ansible --versionWie Sie sehen können, ist der ansible-Befehl verfügbar und funktioniert ordnungsgemäß.
SSH-Schlüssel generieren:
Jetzt müssen Sie auf dem Computer, auf dem Sie Ansible installiert haben, einen SSH-Schlüssel generieren.
Führen Sie den folgenden Befehl aus, um einen SSH-Schlüssel zu generieren:
$ ssh-keygen
Jetzt drücken
Drücken Sie
Drücken Sie
Ein SSH-Schlüssel sollte generiert werden.
Konfigurieren von Ubuntu-Hosts für Ansible Automation:
In diesem Abschnitt zeige ich Ihnen, wie Sie einen Ubuntu-Host konfigurieren (host1) für die Ansible-Automatisierung. Wenn Sie mehr als einen Host haben, den Sie mit Ansible automatisieren möchten, wiederholen Sie den gleichen Vorgang auf jedem der Hosts.
Auf den Ubuntu Ansible-Hosts (die Sie für die Ansible-Automatisierung konfigurieren möchten) muss das SSH-Serverpaket installiert sein.
Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:
$ sudo apt-Update
Installieren Sie dann den OpenSSH-Server mit dem folgenden Befehl:
$ sudo apt install openssh-server -y
In meinem Fall ist das OpenSSH-Serverpaket bereits installiert. Wenn es in Ihrem Fall nicht installiert ist, sollte es installiert werden.
Überprüfen Sie nun, ob die sshd service wird mit folgendem Befehl ausgeführt:
$ sudo systemctl status sshdWie Sie sehen können, ist die sshd Dienst ist aktiv (laufend) und aktiviert (wird automatisch beim Systemstart gestartet).
Wenn die sshd Service ist nicht aktiv (running) starten Sie es in Ihrem Fall manuell mit dem folgenden Befehl:
$ sudo systemctl start sshdWenn die sshd Service ist nicht aktiviert (nicht zum Systemstart hinzugefügt) fügen Sie es in Ihrem Fall manuell mit dem folgenden Befehl zum Systemstart hinzu:
$ sudo systemctl sshd aktivierenKonfigurieren Sie nun die Firewall mit dem folgenden Befehl, um den SSH-Zugriff zuzulassen:
$ sudo ufw erlauben ssh
Sie sollten auch ein . erstellen ansible Benutzer und erlauben Sie passwortlosen sudo-Zugriff auf die ansible Benutzer.
Um eine zu erstellen ansible Benutzer, führen Sie den folgenden Befehl aus:
$ sudo adduser ansible
Geben Sie nun ein Passwort für die ansible Benutzer und drücken Sie
Geben Sie nun das Passwort erneut ein und drücken Sie
Jetzt drücken
Jetzt drücken
Jetzt drücken
Jetzt drücken
Jetzt drücken
Geben Sie jetzt ein ja und drücke dann
Ein ansible Benutzer sollte erstellt werden.
Konfigurieren Sie nun den passwortlosen Sudo-Zugriff auf die ansible Benutzer mit folgendem Befehl:
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible
Suchen Sie nun die IP-Adresse des Ansible-Hosts (host1) mit folgendem Befehl:
$ Hostname -IHier ist die IP-Adresse in meinem Fall 192.168.20.162. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es jetzt durch Ihr Formular ersetzen.
Kopieren Sie nun von dem Computer, auf dem Sie Ansible installiert haben, den öffentlichen SSH-Schlüssel auf den Ansible-Host (host1) wie folgt:
$ ssh-copy-id [email protected]
Eintippen Ja und drücke
Geben Sie nun das Passwort für die ansible Benutzer und drücken Sie
Der öffentliche SSH-Schlüssel sollte kopiert werden nach host1.
Deaktivieren Sie nun die passwortbasierte Anmeldung für die ansible Benutzer mit folgendem Befehl:
$ sudo usermod -L ansible
Jetzt können Sie nur SSH mit dem Ansible-Host (host1) wie ansible Benutzer ohne Passwort von dem Computer, von dem Sie den öffentlichen SSH-Schlüssel kopiert haben (in diesem Fall der Computer, auf dem Sie Ansible installiert haben). Sie können jedoch keine SSH-Verbindung zum Ansible-Host herstellen (host1) wie ansible Benutzer von einem anderen Computer aus. Ich habe die Ansible-Hosts aus Sicherheitsgründen so konfiguriert. Als die ansible Benutzer kein Passwort zum Ausführen von Verwaltungsbefehlen benötigen, ist es riskant, die passwortbasierte Anmeldung für die ansible Benutzer.
Jetzt sollten Sie in der Lage sein, eine SSH-Verbindung zum Ansible-Host herzustellen host1 von dem Computer, auf dem Sie Ansible installiert haben, wie folgt:
$ ssh [email protected]
Wie Sie sehen, kann ich auf den Ansible-Host zugreifen (host1) als ansible Benutzer ohne Passwort. Der Ansible-Host (host1) ist bereit für die Ansible-Automatisierung.
Wenn Sie aus irgendeinem Grund die passwortbasierte Anmeldung für die ansible Benutzer erneut, führen Sie den folgenden Befehl im Ansible-Host aus (host1):
$ sudo usermod -U ansible
Auf die gleiche Weise können Sie beliebig viele Hosts für die Ansible-Automatisierung konfigurieren.
In diesem Artikel habe ich nur 2 Hosts konfiguriert, host1 und host2 für die Vorführung.
Ansible testen:
Erstellen Sie nun ein neues Projektverzeichnis ~/ansible-demo/ auf dem Computer, auf dem Sie Ansible installiert haben, wie folgt:
$ mkdir ~/ansible-demo
Navigieren Sie nun zum ~/ansible-demo/ Verzeichnis wie folgt:
$ cd ~/ansible-demo/
Erstellen Sie nun ein neues Gastgeber Datei im Projektverzeichnis wie folgt:
$ Nano-Hosts
Geben Sie nun die IP-Adressen oder DNS-Namen der Ansible-Hosts ein (host1 und host2 in meinem Fall) in der Gastgeber Datei wie folgt:
192.168.20.162192.168.20.153
Speichern Sie nun die Datei, indem Sie drücken
Versuchen Sie nun, alle Hosts mit Ansible wie folgt zu pingen:
$ ansible all -i ./hosts -u ansible -m pingHINWEIS: Hier wird die Option -u verwendet, um den Benutzernamen (in diesem Fall ansible) anzugeben, den Ansible für die SSH-Verbindung zu den Hosts verwendet.
Wie Sie sehen, können alle Hosts angepingt werden. Die Hosts sind also bereit für die Ansible-Automatisierung.
Auf die gleiche Weise können Sie jeden Befehl in den Hosts mit Ansible wie folgt ausführen:
$ ansible all -i ./hosts -u ansible -m shell -a 'echo "$(Hostname) - $(Hostname -I)"'
Wie Sie sehen, wurde der Befehl auf jedem der Hosts erfolgreich ausgeführt und die Ausgabe wird angezeigt.
So installieren Sie Ansible auf Ubuntu 20.04 LTS und konfigurieren Sie Ubuntu 20.04 LTS-Hosts für die Ansible-Automatisierung. Danke, dass du diesen Artikel gelesen hast.