Für Bash-User eine altbekannte Sache, doch muss ich selbst immer wieder nachschlagen, wie's denn nochmals genau geht...deshalb nun eine Zusammenfassung auf meiner eigenen Seite, dass ich nicht jedes Mal auf's Neue Google belästigen muss.
Worum geht's?
Per Secure-Shell kann man sich auf die Kommandozeile eines anderen Unix-Rechners (im Folgenden: der Server) einloggen. Dazu ist die Eingabe des Benutzer-Passworts nötig. Dies kann man sich ersparen, wenn man auf Client und Server eine Schlüssel-Datei ablegt.Was muss ich auf dem Client tun?
Zuerst den Schlüssel generierenssh-keygen -b 1024 -t rsa
Die Abfrage, wo der Schlüssel gespeichert werden soll mit Enter bestätigen.
Wenn man es nicht ganz so sicher haben will, kann man auch die beiden Passphrase-Abfragen einfach nur mit Enter bestätigen. Reicht für den Heimgebrauch aus.
Der private Schlüssel wird danach unterÂ
~/.ssh/id_rsagespeichert, der öffentliche unterÂ
~/.ssh/id_rsa.pub
Und auf dem Server?
Hier fügen wir den eben generierten öffentlichen Schlüssel zur "Liste der bekannten Computer" hinzu.Zum Abspeichern benötigen wir auch den Ordner
~/.ssh
, sollte er auf dem Server noch nicht existieren, muss er angelegt werden.
Die folgenden Schritte führe ich alle vom Client aus via ssh durch:
cat ~/.ssh/id_rsa.pub |Â ssh apfelz@192.168.178.20 'cat - >> ~/.ssh/authorized_keys'
Also zuerst den Ordner
.sshanlegen und im nächsten Schritt den Inhalt der lokalen Datei
id_rsa.pub zum Server senden und dort der Datei
authorized_keysanhängen.
Benutzername und IP sind natürlich an das persönliche Umfeld anzupassen.
In beiden Fällen ist jeweils das Passwort des Server-Accounts apfelz einzugeben.
id_rsa / id_dsa?
Möglicherweise befindet sich im Verzeichnis~/.ssh/ bereits ein öffentlicher Schlüssel id_dsa. Der DSA-Schlüssel kann allerdings nur für das SSH-Protokoll in Version 2 verwendet werden.
Unterstützen Client und Server also SSH protocol 2, kann der DSA-Schlüssel verwendet werden. Für Protokoll-Version 1 muss der RSA-Schlüssel verwendet werden (der nebenbei bemerkt auch für Protokoll-Version 2 funktioniert).
Das war's schon?
An sich ja. Die ganze Sache funktioniert aber nur, so lange sich die IP-Adresse des Clients nicht ändert.Erstellt am: 30.08.2012 unter den Kategorien Grundlagen . | Kommentieren |