SSH Key Management

Einleitung:


Hier wird kurz beschrieben, wie man ssh-Keys exportiert und importiert um nicht ständig das Passwort eingeben zu müssen. Sehr hilfreich auch bei Cronjobs!

Server Konfiguration:


ssh keying muss in der Serverconfig validiert werden.

Bei openssh in : /etc/ssh/sshd_config
PubkeyAuthentication yes

Erstellen eines Schlüsselpaares:

Funktionsweise:

Der Client erstellt ein Schlüsselpaar (pub + priv key). Den pub - key verteilt der Client an die entsprechenden Server. Passen beim login priv + pub key zusammen, kann sich der Client einloggen.
!Achtung!: Funktioniert nur, wenn als Passwort das "leere Passwort" gewählt wird.

Bemerkung: Bei allen folgenden Beispielen werden dsa keys verwendet. Es gibt auch rsa und rsa2 keys.


OpenSSH Client:

ssh-keygen -t dsa

Alles mit bestätigen.

Folgende Dateien wurden erstellt:

  • ~/.ssh/id_dsa

privater Schlüssel

  • ~/.ssh/id_dsa.pub

öffentlicher Schlüssel


Einbringen des Schlüssels am Server

pub key beim jeweiligen Server importieren.

OpenSSH Server

OpenSSH Client

pub key (~/.ssh/id_dsa.pub) beim Server in folgende Datei schreiben: ~/.ssh/authorized_keys

Beispiel (im folgenden werden die Beispiele aus Sicht des Client angegeben. Ein login ist natürlich am entfernten Rechner das Übersichtlichste):

scp ~/.ssh/id_dsa.pub [server]:new_key.pub
ssh [server] "test -d .ssh || mkdir .ssh && chmod 700 .ssh"
ssh [server] cat new_key.pub >> .ssh/authorized_keys
ssh [server] rm -f new_key.pub