Benutzer-Werkzeuge

Webseiten-Werkzeuge


ssh_copy_id

Server-zu-Server: SSH-Key in Linux generieren und auf entfernten Server ablegen

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]
ssh_copy_id.txt · Zuletzt geändert: 2019/09/22 00:16 von webproducer