SSH Keygen und SSH-Copy-ID - SSH Zugang ohne Passwort

Aus Laub-Home Wiki

Möchte man sich ohne Passwort dafür aber mit einem eigens erstellten SSH Key an einem anderen Server via SSH anmelden, dann muss man zuerst einen Key erstellen. Den dazugehörigen "Public" Key übertragen wir dann auf den Remote Server.

SSH Key übertragen

Will man sich per SSH von Linux zu Linux ohne die Eingabe eines Passwortes verbinden kann dies folgendermaßen getan werden: Zuerst erstellt man einen DSA Key:

ssh-keygen -t rsa -b 4096

Danach wird der erstellte Key auf die Zielmaschine kopiert:

ssh-copy-id -i ~/.ssh/id_dsa.pub user@HOSTNAME

Lauscht der SSH Server auf einem anderen Port zum Beispiel 222 kann man folgenden Befehl absetzten:

ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 222 user@HOSTNAME"

Dieser Befehl kopiert den Public Key in folgende Datei des Zielsystems:

~/.ssh/authorized_keys

Nun kann man sich per SSH auf die andere Maschine verbinden, um zu testen ob noch eine Passwortabfrage kommt.

ssh user@HOSTNAME

authorized_keys vs. authorized_keys2

Die Datei authorized_keys2 wurde eingeführt als SSH Version 2 kam. Mittlerweile (seit OpenSSH 3.0) gibt es wieder nur noch die Datei authorized_keys. Also kann der gesamte Inhalt von authorized_keys2 in die Datei authorized_keys übertragen werden:

cat ~/.ssh/authorized_keys2 >> ~/.ssh/authorized_keys
rm ~/.ssh/authorized_keys2