SSH Login ohne Passwort (Key-Based)

Posted by hyper_ch on 03 Nov 2008 | Tagged as: Benutzer

Die Verbindungsaufnahme mit SSH ohne Passwortabfrage ist denkbar einfach. Diese Methode kann dazu benutzt werden um unbedarfte Benutzer kein Passwort mitteilen zu müssen, dass die sich eh nicht merken können oder um sich selber das Leben einfacher zu machen oder um Services zu automatisieren, wie z.B. rsync über SSH.

In vier einfach Schritten kann dies erreicht werden!

1. Schritt – Einführung

Nachfolgend wird als “Client” der Computer bezeichnet, an dem ein Benutzer sitzt. “Server” ist der Computer, in den eingeloggt werden soll ohne Passwort über SSH und “User” ist der Benutzer mit dem man sich am Server anmeldet. Ohne key-based SSH würde das folgendermassen aussehen:

ssh user@server

Dann kommt die Passwort Aufforderung.

2. Kreieren des Public Key

Auf dem Client muss folgender Befehl ausgeführt werden:

ssh-keygen -t dsa

Es kommt dann die Aufforderung, wo die Datei gespeichert werden soll und wie die Datei benannt werden soll. Es schlägt vor, die Datei als ~/.ssh/id_dsa zu speichern. Solltet man das ändern, muss das natürlich in den nachfolgenden Schritten auch bedacht werden.

3. Den Public Key auf dem Server hinzufügen

Mit folgendem Befehl wird dann der Public Key auf den Server geladen. Dabei muss das Passwort des Users auf dem Server angegeben werden.

cat ~/.ssh/id_dsa.pub | ssh -l server 'cat && ~/.ssh/authorized_keys'

Die Syntax ist korrekt, der Befehl lautet tatsächlich “[...]user server[...]” und nicht “[...]user@server[...]“.

4. Zugriff auf den Server nehmen

Nun kann ausprobiert werden, ob es geklappt hat:

ssh user@server

Hier dürfte jetzt keine Passwortabfrage mehr erscheinen. Falls dem so ist und sonst keine Fehlermeldung kommt, dann hat es geklappt.

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply

Spam protection by WP Captcha-Free