Ansible SSH-Copy-ID

Ansible Ssh Copy Id



Ansible ist ein kostenloses Open-Source-Automatisierungstool, das die Verwaltung der Konfiguration und Anwendungsbereitstellung auf mehreren Computern vereinfacht.

Ansible verwendet die deklarative Sprache, um den gewünschten Zustand von Systemen zu beschreiben, und erledigt automatisch die Aufgaben, die zum Erreichen dieses Zustands erforderlich sind.

Ansible verwendet SSH als Standardverbindungsmethode, um eine Verbindung zu einem Zielcomputer herzustellen. SSH bietet einen sicheren und verschlüsselten Kommunikationskanal zwischen dem Ansible-Kontrollknoten und den Zielhosts.







Normalerweise ist der Befehl ssh-copy-id die gebräuchlichste Methode zum Konfigurieren der SSH-schlüsselbasierten Authentifizierung für den Zielhost. Der Befehl kopiert den öffentlichen Schlüssel des Kontrollknotens in die Datei „authorized_keys“ auf dem Zielhost.



Wenn Sie jedoch zum ersten Mal ein System konfigurieren, benötigen Sie möglicherweise Ansible, um dies in einem Playbook durchzuführen. Hier kommt die Ansible-Community zur Rettung.



In der Ansible-Community haben wir Zugriff auf die Rolle ssh_id_copy, die es uns ermöglicht, die Systeme für die passwortlose SSH-Authentifizierung zu autorisieren.





Diese Rolle kümmert sich um die Einrichtung der SSH-Schlüssel auf dem Remote-Computer, wodurch wir eine Ansible-Inventardatei mit dem Remote-Computer erstellen können. Wir können dann schnell jedes Ansible-Playbook für den Remote-Computer aufrufen.

Ansible Ssh_Copy_Id-Rolle

Die Rolle verfügt über Variablen, die es Ansible ermöglichen, die SSH-Schlüssel auf dem Remote-Host zu konfigurieren. Zu diesen Variablen gehören:



Hostname – Es definiert das Remote-System, zu dem eine Verbindung hergestellt werden soll (FQDN oder IP).

Nutzername – Gibt den Benutzernamen für die Verbindung zum Remote-System an.

Passwort – Es definiert das Passwort des Benutzernamens für die Verbindung zum Remote-System.

ssh_public_key – Es definiert den absoluten Pfad zur öffentlichen Schlüsseldatei, die auf dem Remote-Host konfiguriert werden soll.

Hafen – Es definiert den SSH-Port.

Installieren der Ssh_Copy_Id-Rolle

VORSICHT: Wir können die Gültigkeit und Sicherheit von Community-gesteuerten Rollen und Modulen nicht gewährleisten. Bitte prüfen und überprüfen Sie die Funktionsweise einer Rolle/eines Moduls, bevor Sie es in der Produktion und auf realen Maschinen verwenden. Bei der Arbeit mit den in diesem Beitrag beschriebenen Schritten kann keine Sicherheit garantiert werden.

Wie bereits erwähnt, ist ssh_copy_id eine von der Community bereitgestellte Rolle, die von Ryan bereitgestellt wird. Der Link zum Repository wird wie folgt bereitgestellt:

https://github.com/ryankwilliams/ansible-ssh-copy-id

Bevor wir es verwenden können, müssen wir sicherstellen, dass es installiert ist, indem wir den folgenden Befehl ausführen:

$ Ansible-Galaxie Installieren rywillia.ssh-copy-id

Beispielverwendung

Nach der Installation können wir die Rolle in einem Playbook verwenden, wie im Folgenden gezeigt:

---
- Name
: Konfigurieren Sie die passwortlose SSH-Authentifizierung auf einem Remote-Computer
Gastgeber
: localhost
werden
: Ja
Rollen
:
- Rolle
: ryankwilliams.ssh_copy_id
wessen
:
Hostname
: 172.168.112.23
Nutzername
: Ubuntu
Passwort
: Passwort
ssh_public_key
: /home/debian12/.ssh/id_rsa.pub
ssh_port
: 22

Das vorherige Beispiel-Playbook zeigt, wie die Rolle zum Einrichten der passwortlosen SSH-Authentifizierung verwendet wird, ein Benutzer, der auf dem Remote-Computer definiert ist.

Abschluss

In diesem Einführungs-Tutorial haben Sie erfahren, wie Sie von der Community bereitgestellte Rollen und Module nutzen können, um die passwortlose SSH-Authentifizierung auf Remote-Hosts mithilfe eines Ansible-Playbooks zu konfigurieren.