Ansible

Installieren Sie Ansible auf Debian zur Automatisierung

Installieren Sie Ansible auf Debian zur Automatisierung

Netzwerktopologie

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

Die Server 6f7c2 und 6b219 sind Debian 10-Maschinen, die wir für die Ansible-Automatisierung konfigurieren werden. Ich werde diese Server für die Zwecke dieses Artikels einfach Ansible-Hosts nennen.

Wir können Ansible verwenden von ansible-pc um verschiedene Aufgaben im . zu automatisieren 6f7c2 und 6b219 Debian-Server.

Ansible installieren

In diesem Abschnitt zeige ich Ihnen, wie Sie Ansible installieren auf ansible-pc.

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

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

$ sudo apt-Update

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 --version

Wie Sie sehen, ist der ansible-Befehl verfügbar und funktioniert ordnungsgemäß. Ansible 2.7.7 ist die neueste Version von Ansible, die zum Zeitpunkt der Erstellung dieses Artikels im Debian-Paket-Repository verfügbar war.

SSH-Schlüssel generieren

Auf der Debian 10-Maschine (ansible-pc) wo Sie Ansible installiert haben, müssen Sie zuerst 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 Debian-Hosts für Ansible Automation

In diesem Abschnitt zeige ich Ihnen, wie Sie einen Debian-Host für die Ansible-Automatisierung konfigurieren. Wenn Sie mehrere Hosts haben, die Sie mit Ansible automatisieren möchten, wiederholen Sie den gleichen Vorgang für jeden der Hosts.

Auf den Hosts, die Sie für die Ansible-Automatisierung konfigurieren möchten, muss das SSH-Serverpaket vorinstalliert 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 vor diesem Schritt installiert werden.

Überprüfen Sie nun, ob die sshd service wird über den folgenden Befehl ausgeführt:

$ sudo systemctl status sshd

Wie Sie sehen können, ist die sshd Dienst ist aktiv (laufend) und aktiviert (wird automatisch beim Systemstart gestartet).

Wenn die sshd Dienst ist nicht aktiv (läuft), starten Sie es manuell mit dem folgenden Befehl:

$ sudo systemctl start sshd

Wenn 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 aktivieren

Erstellen Sie nun eine 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 --shell /bin/bash --gecos "" ansible

Geben Sie ein Passwort für die . ein ansible Benutzer und drücken Sie .

Geben Sie das Passwort erneut ein und drücken Sie .

Ein ansible Benutzer sollte erstellt werden.

Um nun den passwortlosen sudo-Zugriff auf die ansible Benutzer, bearbeiten Sie die /etc/sudoers Datei mit folgendem Befehl:

$ sudo visudo

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

ansible ALL=(ALL) NOPASSWD:ALL

Speichern Sie dann die Datei, indem Sie drücken + X gefolgt von Ja, und drücke dann .

Suchen Sie nun die IP-Adresse des Ansible-Hosts 6f7c2 mit folgendem Befehl:

$ Hostname -I

Hier ist die IP-Adresse in meinem Fall 192.168.20.167. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie diese Adresse jetzt durch Ihr eigenes Formular ersetzen.

Kopieren des öffentlichen SSH-Schlüssels auf den Ansible-Host

Von dem Computer, auf dem Sie Ansible installiert haben (ansible-pc), kopieren Sie den öffentlichen SSH-Schlüssel auf den Ansible-Host 6f7c2 wie folgt:

$ ssh-copy-id [email protected]

Eintippen Ja und drücke .

Geben Sie als Nächstes das Passwort für die ansible Benutzer und drücken Sie .

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

Sie sollten in der Lage sein, eine SSH-Verbindung zum Ansible-Host herzustellen 6f7c2 als Benutzer ansible ohne Passwort, wie Sie dem Screenshot unten entnehmen können:

$ ssh [email protected]

Sie sollten auch in der Lage sein, sudo-Befehle auszuführen, ohne nach einem Passwort gefragt zu werden.

$ sudo ls /

Schließen Sie abschließend die SSH-Sitzung wie folgt:

$ beenden

Sichern von Ansible-Hosts

Als die ansible Benutzer können jeden sudo-Befehl ausführen, ohne nach einem Passwort gefragt zu werden, wir haben die SSH-Schlüsselbasierte Anmeldung für die Ansible-Hosts konfiguriert configured. Sie können jedoch weiterhin SSH in die Ansible-Hosts als ansible Benutzer mit dem Passwort des ansible Benutzer. Das ist also nicht sehr sicher.

Führen Sie zur Verbesserung der Sicherheit den folgenden Befehl auf den Ansible-Hosts aus, um die kennwortbasierte Anmeldung für die ansible Benutzer:

$ sudo usermod -L ansible

Wenn Sie sich später entscheiden, die passwortbasierte Anmeldung für die for ansible user, führen Sie den folgenden Befehl auf dem Ansible-Host aus:

$ sudo usermod -U ansible

Ansible testen

Erstellen Sie ein neues Projektverzeichnis ~/projekt/ auf dem Debian-Rechner, auf dem Sie Ansible installiert haben (ansible-pc) mit folgendem Code:

$ mkdir ~/project

Navigieren Sie zum ~/projekt/ Verzeichnis mit folgendem Code:

$ cd ~/projekt/

Erstelle eine neue Gastgeber Datei im Projektverzeichnis wie folgt:

$ Nano-Hosts

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

Wenn Sie fertig sind, speichern Sie die Datei, indem Sie drücken + X gefolgt von Ja und dann schlagen .

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

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

HINWEIS: Hier die -du Option wird verwendet, um den Benutzernamen anzugeben (ansible in diesem Fall), die Ansible für die SSH-Verbindung zu den Hosts verwendet.

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

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

Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...