In diesem Beispiel wird gezeigt, wie ein SSH-Key erstellt und auf einen entfernten Server abgelegt wird, um eine automatische Server-zu-Server-Verbindung (z. B. durch einen Cronjob) herstellen zu können.
Wenn der SSH-Key für den Benutzer „root“ angelegt werden soll muss zunächst mit „su“ und dem Administrator-Passwort der aktuelle Benutzer gewechselt werden.
Wir navigieren in das .ssh-Verzeichnis, erstellen hier einen SSH-Key und kopieren diesen auf den entfernten Server, mit dem wir uns zukünftig automatisch verbinden wollen. Anders, als bei SSH-Keys, den wir dritten zum Login zu Verfügung stellen wolle (z. B. für den Zugriff auf ein Git-Repository) verzichten wir hier auf die Eingabe einer Passphrase, indem wir die Frage einfach mit der [ENTER]-Taste leer lassen.
$ su $ Passwort: [Administratorpasswort] $ cd /root/.ssh $ ssh-keygen -b 4096 $ Enter file in which to save the key: (/root/.ssh/id_rsa): [ENTER] $ Enter passphrase (empty for no passphrase): [ENTER] $ Enter same passphrase again: [ENTER] $ ssh-copy-id -i [Name des Schlüssels] [benutzername]@[Domain oder ip-Adresse]
Für den Login muss anschließend nach der Aufforderung das Passwort für den entfernten Server eingegeben werden. Dann wird der Public-Key zum entfernten Server übertragen und dort gespeichert. Anschließend muss der neue SSH-Key im SSH-Agent hinzugefügt werden, damit der Cronjob die SSH-Verbindung zukünftig selbständig aufbauen kann:
$ eval $(ssh-agent) $ ssh-add [Name des Schlüssels]