Einloggen auf dem Server mit SSH ohne Passwort
Freitag, 5. Februar 2010
Im letzten Artikel habe ich versprochen aufzuklären darüber, wie man sich auf einem Server mit SSH über das Netzwerk einloggt; ohne ein Passwort. In meinem Fall ist das besonders nötig, da ich auf dem Server ein Shellscript aufrufe. Das möchte ich natürlich nicht jedes Mal manuell machen und dabei ein Passwort eingeben müssen. Außerdem wir das noch nützlich sein, wenn ich den Server herunterfahren möchte.
Was muss also getan werden damit ich ohne ein Passwort einzugeben mich mit SSH einloggen kann? Zunächst benutzen wir das Kommandozeilenprogramm ssh-keygen auf der lokalen Maschine um ein Schlüsselpaar zu generieren:
ssh-keygen -t rsa
Dabei sollten die vorgegebenen Werte für aufkommende Fragen übernommen werden und kein Passwort eingegeben werden.
Von der lokalen Maschine aus erstellen wir nun auf dem Server mit dem Benutzer über SSH das Verzeichnis ~/.ssh, mit dem anschließend ohne Passwort das Einloggen auf dem Server möglich sein soll:
ssh user@server mkdir -p ~/.ssh
Der letzte Schritt ist den generierten Schlüssel der lokalen Maschine auf dem Server zu authorisieren. Dazu muss der lokale Schlüssel an die Datei ~/.ssh/authorized_keys auf dem Server angehängt werden. Also wird von der lokalen Maschine aus Folgendes ausgeführt:
cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys'
Jetzt ist das Einloggen von der lokalen Maschine aus auf dem Server ohne Passwort möglich.
Credits: http://linuxproblem.org/art_9.html