Installieren Sie Ansible in Debian zur Automatisierung

Installieren Sie Ansible in Debian zur Automatisierung

Netzwerktopologie

Hier, Ansible-pc ist eine Debian 10 -Maschine, auf der wir Ansible installieren werden.

Die Server 6f7c2 Und 6B219 sind Debian 10 Maschinen, die wir für die Ansible -Automatisierung konfigurieren werden. Ich werde einfach diese Server ansible Hosts für den Zweck dieses Artikels nennen.

Wir können Ansible von verwenden Ansible-pc zu automatisieren unterschiedliche Aufgaben in der 6f7c2 Und 6B219 Debian Server.

Ansible installieren

In diesem Abschnitt werde ich Ihnen zeigen, wie Sie Ansible auf installieren können Ansible-pc.

Sie können Ansible auf Debian 10 aus dem offiziellen Paket -Repository von Debian installieren.

Aktualisieren Sie zunächst den APT -Paket -Repository -Cache mit dem folgenden Befehl:

$ sudo APT Update

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 Ansible -Befehl verfügbar und funktioniert korrekt. Ansible 2.7.7 ist die neueste Version von Ansible im Debian -Paket -Repository zum Zeitpunkt dieses Artikels, der geschrieben wurde.

SSH -Schlüssel erzeugen

Auf der Debian 10 -Maschine (Ansible-pc) Wenn Sie Ansible installiert haben, müssen Sie zunächst einen SSH -Schlüssel erstellen.

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 Debian -Hosts für Ansible Automation

In diesem Abschnitt werde ich Ihnen zeigen, wie Sie einen Debian -Host für Ansible Automation konfigurieren können. Wenn Sie mehrere Hosts haben, die Sie mithilfe von Ansible automatisieren möchten, wiederholen Sie den gleichen Vorgang für jeden der Hosts.

Die Hosts, die Sie für die Ansible-Automatisierung konfigurieren möchten, müssen das SSH-Serverpaket vorinstalliert haben.

Aktualisieren Sie zunächst den APT -Paket -Repository -Cache mit dem folgenden Befehl:

$ sudo APT Update

Installieren Sie dann den 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 vor diesem Schritt installiert werden.

Überprüfen Sie nun, ob die sshd Der Service wird über den 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 es 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

Erstellen Sie nun eine 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 -Shell /Bin /Bash --Gecos "" Ansible

Geben Sie ein Passwort für die ein Ansible Benutzer und Drücken .

Geben Sie das Passwort weiter und drücken Sie .

Ein Ansible Benutzer sollte erstellt werden.

Nun zuzulassen, um passwortloser sudo-Zugriff auf die Ansible Benutzer, bearbeiten Sie die /etc/sudoers Datei mit dem folgenden Befehl:

$ sudo visudo

Fügen Sie nun die folgende Zeile zum Fügen Sie der /etc/sudoers Datei.

Ansible All = (alle) nopasswd: alle

Speichern Sie dann die Datei durch Drücken + X gefolgt von Y, und dann drücken Sie .

Finden Sie nun die IP -Adresse des Ansible -Hosts 6f7c2 mit dem folgenden Befehl:

$ hostname -i

Hier ist die IP -Adresse in meinem Fall 192.168.20.167. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie diese Adresse jetzt durch Ihr eigenes Formular ersetzen.

Kopieren von SSH -öffentlichen Schlüssel in den Ansible Host

Vom Computer, auf dem Sie Ansible installiert haben (Ansible-pc), kopieren Sie den SSH -öffentlichen Schlüssel zum Ansible -Host 6f7c2 folgendermaßen:

$ ssh-copy-id [email protected]

Eintippen Ja und drücke .

Geben Sie als nächstes das Passwort für die ein Ansible Benutzer und Drücken .

Der öffentliche SSH -Schlüssel sollte auf Ansible Host kopiert werden 6f7c2.

Sie sollten in der Lage sein, SSH in den Ansible -Host zu 6f7c2 als Benutzer Ansible Ohne Passwort, wie Sie aus dem folgenden Screenshot sehen können:

$ ssh [email protected]

Sie sollten auch in der Lage sein, Sudo -Befehle auszuführen, ohne für ein Passwort aufgefordert zu werden.

$ sudo ls /

Schließlich schließen Sie die SSH -Sitzung wie folgt:

$ Exit

Sicherungswirte sichern

Als die Ansible Der Benutzer kann einen Sudo -Befehl ausführen, ohne für ein Kennwort aufgefordert zu werden. Wir haben das SSH -Basis -Login für die Ansible -Hosts konfiguriert. Aber Sie können immer noch in die Ansible -Hosts als SSH als Ansible Benutzer verwenden das Passwort der Ansible Benutzer. Das ist also nicht sehr sicher.

Führen Sie den folgenden Befehl auf den Ansible-Hosts aus, um die Sicherheit zu erhalten, um die kennwortbasierte Anmeldung für die zu deaktivieren Ansible Benutzer:

$ sudo usermod -l ansible

Wenn Sie sich später entscheiden, eine passwortbasierte Anmeldung für die zu aktivieren Ansible Benutzer führen Sie den folgenden Befehl auf dem Ansible -Host aus:

$ sudo usermod -u ansible

Ansible testen

Erstellen Sie ein neues Projektverzeichnis ~/project/ In der Debian -Maschine, auf der Sie Ansible installiert haben (Ansible-pc) Verwenden Sie den folgenden Code:

$ mkdir ~/project

Navigieren zum ~/project/ Verzeichnis mit dem folgenden Code:

$ cd ~/project/

Erstelle eine neue Gastgeber Datei im Projektverzeichnis wie folgt:

$ nano Gastgeber

Listen Sie nun die IP -Adressen oder DNS -Namen der Ansible -Hosts auf (6f7c2 Und 6B219 in meinem Fall) in der Gastgeber Datei:

192.168.20.167
192.168.20.168

Sobald Sie fertig sind, speichern Sie die Datei durch Drücken + X gefolgt von Y und dann schlage .

Versuchen Sie zum Testen, alle Hosts mit dem folgenden Code zu pingen:

$ ansible -i ./Hosts alle -U Ansible -m Ping

NOTIZ: Hier das -u Option wird verwendet, um den Benutzernamen anzugeben (Ansible in diesem Fall), mit dem Ansible SSH in die Hosts verwendet.

Wie Sie sehen können, kann Ansible auf alle Hosts zugreifen. Die Gastgeber sind also bereit für die Ansible -Automatisierung.

So installieren Sie Ansible in Debian 10 und konfigurieren Debian -Hosts für Ansible Automation. Vielen Dank für das Lesen dieses Artikels.