Netzwerktopologie:
Hier das LinuxHint-711ea ist ein Ubuntu 20.04 LTS -Maschine, auf der ich Ansible installieren werde.
Dann werde ich die Hosts konfigurieren Host1 (IP -Adresse 192.168.20.162) und Host2 (IP -Adresse 192.168.20.153) für Ansible Automatation und Führen Sie Befehle mithilfe von Ansible aus dem aus LinuxHint-711ea Maschine.
Ich werde einfach anrufen Host1 Und Host2 Als Ansible -Hosts in diesem Artikel.
Installieren von Ansible:
Sie können einfach Ansible auf Ubuntu 20 installieren.04 LTS aus dem offiziellen Paket -Repository von Ubuntu.
Aktualisieren Sie zunächst den APT -Paket -Repository -Cache mit dem folgenden Befehl:
$ sudo APT Update
Der APT -Paket -Repository -Cache sollte aktualisiert werden.
Installieren Sie nun Ansible mit dem folgenden Befehl:
$ sudo apt installieren Ansible
Um die Installation zu bestätigen, drücken Sie Y und dann drücken Sie .
Ansible sollte installiert werden.
Führen Sie nun den folgenden Befehl aus, um zu überprüfen, ob Ansible richtig funktioniert.
$ ansible -Verssion
Wie Sie sehen können, ist der Befehl Ansible verfügbar und funktioniert korrekt.
Generieren von SSH -Schlüssel:
Jetzt müssen Sie einen SSH -Schlüssel auf dem Computer generieren, auf dem Sie Ansible installiert haben.
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 werde ich Ihnen zeigen, wie Sie einen Ubuntu -Host konfigurieren (Host1) für die Ansible -Automatisierung. Wenn Sie mehr als einen Host haben, den Sie mithilfe von Ansible automatisieren möchten, wiederholen Sie denselben Vorgang auf jedem der Hosts.
Die Ubuntu Ansible -Hosts (die Sie für die Ansible -Automatisierung konfigurieren möchten) muss das SSH -Serverpaket installiert haben.
Aktualisieren Sie zunächst den APT -Paket -Repository -Cache mit dem folgenden Befehl:
$ sudo APT Update
Installieren Sie dann OpenSSH Server mit dem folgenden Befehl:
$ sudo APT Installation OpenSSH -Server -y
In meinem Fall ist das OpenSSH -Serverpaket bereits installiert. Wenn es nicht in Ihrem Fall installiert ist, sollte es installiert werden.
Überprüfen Sie nun, ob die sshd Der Service wird mit dem folgenden Befehl ausgeführt:
$ sudo systemctl Status SSHD
Wie Sie sehen können, die sshd Service ist aktiv (rennen) und ermöglicht (Starten Sie automatisch mit dem Systemstiefel).
Wenn der sshd Service ist nicht aktiv (Laufen) Starten Sie in Ihrem Fall manuell mit dem folgenden Befehl:
$ sudo systemctl starten sshd
Wenn der sshd Service ist nicht ermöglicht (Nicht zum Systemstart hinzugefügt) In Ihrem Fall fügen Sie es mit dem folgenden Befehl manuell zum Systemstart hinzu:
$ sudo systemctl aktivieren sshd
Konfigurieren Sie nun die Firewall so, dass SSHs Zugriff mit dem folgenden Befehl ermöglicht:
$ sudo ufw erlauben ssh
Sie sollten auch eine erstellen Ansible Benutzer und ermöglichen Sie gennspassloses sudo-Zugriff auf die Ansible Benutzer.
Um ein zu erstellen Ansible Benutzer, den folgenden Befehl ausführen:
$ sudo adduser ansible
Geben Sie nun ein Passwort für die ein Ansible Benutzer und Drücken .
Geben Sie nun das Passwort weiter und drücken Sie .
Jetzt drücken .
Jetzt drücken .
Jetzt drücken .
Jetzt drücken .
Jetzt drücken .
Tippen Sie nun ein y und dann drücken Sie .
Ein Ansible Benutzer sollte erstellt werden.
Konfigurieren Sie nun passwortloser sudo-Zugriff auf die Ansible Benutzer mit dem folgenden Befehl:
$ echo "Ansible All = (all) nopasswd: All" | sudo tee /etc /sudoers.D/Ansible
Finden Sie nun die IP -Adresse des Ansible -Hosts (Host1) mit dem folgenden Befehl:
$ hostname -i
Hier ist die IP -Adresse in meinem Fall 192.168.20.162. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es jetzt durch Ihr Formular ersetzen.
Kopieren Sie nun den Computer, auf dem Sie Ansible installiert haben, den öffentlichen SSH -Schlüssel zum Ansible -Host (Host1) folgendermaßen:
$ ssh-copy-id [email protected]
Eintippen Ja und drücke .
Geben Sie nun das Passwort für die ein Ansible Benutzer und Drücken .
Der öffentliche SSH -Schlüssel sollte kopiert werden Host1.
Deaktivieren Sie nun die kennwortbasierte Anmeldung für die Ansible Benutzer mit dem folgenden Befehl:
$ sudo usermod -l ansible
Jetzt können Sie nur noch in den Ansible -Host (Host1) als Ansible Benutzer ohne Passwort vom Computer, von dem Sie den öffentlichen SSH -Taste kopiert haben (in diesem Fall, auf dem Sie ansible installiert haben). Aber Sie werden SSH nicht in den Ansible -Host (Host1) als Ansible Benutzer von einem anderen Computer. Ich habe die Ansible -Hosts aus Sicherheitsgründen auf diese Weise konfiguriert. Als die Ansible Der Benutzer benötigt kein Kennwort für das Ausführen von Verwaltungsbefehlen. Es ist riskant, eine passwordbasierte Anmeldung für die zuzulassen Ansible Benutzer.
Jetzt sollten Sie in der Lage sein, SSH in den Ansible -Host zu Host1 vom Computer, auf dem Sie Ansible wie folgt installiert haben:
$ ssh [email protected]
Wie Sie sehen können, kann ich auf den Ansible -Host zugreifen (Host1) als Ansible -Benutzer ohne Passwort. Also der Ansible Host (Host1) ist bereit für die Ansible -Automatisierung.
Wenn Sie aus irgendeinem Grund eine passwortbasierte Anmeldung für die zulassen möchten Ansible Benutzer erneut den folgenden Befehl im Ansible -Host ausführen (Host1):
$ sudo usermod -u ansible
Sie können so viele Hosts für die Ansible -Automatisierung auf die gleiche Weise konfigurieren.
In diesem Artikel habe ich nur 2 Hosts konfiguriert, Host1 Und Host2 Für die Demonstration.
Testen Ansible:
Erstellen Sie nun ein neues Projektverzeichnis ~/ansible-demo/ In dem Computer, auf dem Sie Ansible wie folgt installiert haben:
$ mkdir ~/ansible-demo
Navigieren Sie nun zur ~/ansible-demo/ Verzeichnis wie folgt:
$ cd ~/ansible-demo/
Erstellen Sie nun eine neue Gastgeber Datei im Projektverzeichnis wie folgt:
$ nano Gastgeber
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.162
192.168.20.153
Speichern Sie nun die Datei durch Drücken + X gefolgt von Y und dann .
Versuchen Sie nun, alle Hosts mit Ansible wie folgt zu pingen:
$ ansible alle -I ./Hosts -U Ansible -m Ping
NOTIZ: Hier wird die Option -U verwendet, um den Benutzernamen (in diesem Fall ansible) anzugeben.
Wie Sie sehen können, können alle Gastgeber pinged werden. Die Gastgeber 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 alle -I ./Hosts -U Ansible -m Shell -a 'echo "$ (Hostname) -$ (Hostname -i)"'
Wie Sie sehen können, wurde der Befehl in 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 Ansible Automation. Danke, dass du diesen Artikel gelesen hast.