SSH-Keygen installieren und verwenden

SSH-Keypairs sind im Bereich GIT, automatisierten Deployments und Backup gar nicht mehr weg zu denken. Wie sie erzeugt und genutzt werden, erfährst du in diesem Artikel.

Schritt 1:

Gehe in das Kundencenter zu deinem Projekt. Öffne über Tools den Softwaremanager:

Ausgewählter Menüpunkt "Softwaremanager" unter "Tools" in der Projektverwaltung
Ausgewählter Menüpunkt "Softwaremanager" unter "Tools" in der Projektverwaltung

Schritt 2:

Wenn unter dem Punkt Sonstige Bibliotheken noch kein Eintrag namens ssh-rsync vorhanden ist, klicke auf den Punkt Neu:

Softwareübersicht mit aktiver WordPress-Installation
Softwareübersicht mit aktiver WordPress-Installation

Schritt 3:

Unter Sonstige Bibliotheken findest du ssh-rsync, diese benötigst du um ssh-keygen nutzen zu können. ssh-keygen ist ab der Version ssh-rsync 3.0.6-3 verfügbar:

Installation von rsync/ssh im Softwaremanager
Installation von rsync/ssh im Softwaremanager

Schritt 4:

Hast du bereits eine bestehende „ssh-rsync“-Installation, aber nicht in der passenden Version? Du kannst sie problemlos über den Button „Bearbeiten“ im Softwaremanager aktualisieren:

Ausgewählte rsync/ssh-Installation im Softwaremanager mit Möglichkeit, diese zu bearbeiten
Ausgewählte rsync/ssh-Installation im Softwaremanager mit Möglichkeit, diese zu bearbeiten

Schritt 5:

Wähle in diesem Schritt im Dropdown-Menü die Version „3.0.6-2 (inkl. ssh-keygen)“ aus: 

Dialogfenster zur Bearbeitung der Version der rsync/ssh-Installation
Dialogfenster zur Bearbeitung der Version der rsync/ssh-Installation

Schritt 6:

Sobald die Installation abgeschlossen ist, kannst du auf der Shell das Kommando „ssh-keygen“ benutzen. 

Um ein Keypair zu erstellen, benutzt du das folgende Kommando:

ssh-keygen -t rsa -b 4096

Mit dem Parameter -t wird der Verschlüsselungsalgorithmus angegeben, RSA ist dafür der gängige Standard. Durch -b wird die Schlüssellänge definiert. Hier wird in der Regel 4096-bit angegeben.

Schritt 7:

Nachdem das Kommando mit ENTER bestätigt wurde, erhältst du nach ein paar Sekunden die Abfrage zum Speicherpfad des Keypairs. Hier kannst du entweder den Standardpfad in der Klammer belassen und die Abfrage einfach mit ENTER bestätigen oder einen eigenen Pfad mit klarem Dateinamen angeben. In diesem Fall brauchen wir den Key für unsere Backup-Routine:

Eingabe der Datei, in der der Key gespeichert werden soll
Eingabe der Datei, in der der Key gespeichert werden soll

Nachdem der Pfad mittels ENTER bestätigt wurde, kommt eine Abfrage für die passphrase. Dabei handelt es sich um eine Art Kennwort, mit dem das Keypair entschlüsselt werden kann. In der Regel sollte immer eine passphrase für das Keypair vergeben werden, um es vor Zugriffen durch Unbefugte zu schützen. Lediglich in wenigen Fällen, wie zum Beispiel beim automatischen Transfer von Backups, ist es akzeptabel ein Keypair ohne passphrase zu generieren.
 

Wir nehmen an dieser Stelle an, dass das Keypair für den Transfer von Backups benötigt wird, daher ist die passphrase leer:

Abfrage für die passphrase, mit der das Keypair entschlüsselt werden kann
Abfrage für die passphrase, mit der das Keypair entschlüsselt werden kann

Wie man sehen kann, wurden jetzt zwei Keyfiles erstellt:

„Private Key: /home/www/p000000/.ssh/id_rsa_backup“
„Public Key: /home/www/p000000/.ssh/id_rsa_backup.pub“

Schritt 8:

Der Private Key ist nicht für die Öffentlichkeit bestimmt und sollte unter keinen Umständen das Quellprojekt verlassen!

Den Public Key hingegen, hinterlegen wir im Zielprojekt um einen Transfer zu ermöglichen.
Dazu kopieren wir unseren Public Key mittels „ssh-copy-id“ in das Zielprojekt:

p000000:~ > ssh-copy-id -i .ssh/id_rsa_backup.pub p000001@p000001.webspaceconfig.de

Anschließend kannst du dich vom Quellprojekt aus per ssh und dem private key mit dem Zielprojekt verbinden:

p000000:~ > ssh -i ~/.ssh/id_rsa_backup p000001@p000001.webspaceconfig.de

Schritt 9:

Falls ein hinterlegter Key wieder gelöscht werden soll, öffne die authorized_keys und lösche die Zeile, welche den Key enthält, einfach heraus:

p000001:~ > vim ~/.ssh/authorized_keys