Passwortlose ssh-Authentifizierung

In Linux und Unix (also auch in macOS) kann man mit dem Kommandozeilen-Tool ssh-keygen ein Schlüsselpaar mir Public- und Private-Key anlegen, welches zur  Authentifizierung über ssh genutzt werden kann.

Über die Console bzw. das Terminal geben wir hierzu den Befehl ssh-keygen -t dsa ein

 1 | Sylvester:~ lisa$ ssh-keygen -t dsa
 2 | Generating public/private dsa key pair.
 3 | Enter file in which to save the key (/Users/lisa/.ssh/id_dsa): 
 4 | Created directory '/Users/lisa/.ssh'.
 5 | Enter passphrase (empty for no passphrase): 
 6 | Enter same passphrase again: 
 7 | Your identification has been saved in /Users/lisa/.ssh/id_dsa.
 8 | Your public key has been saved in /Users/lisa/.ssh/id_dsa.pub.
 9 | The key fingerprint is: [...]
10 | Sylvester:~ lisa$ cd ~/.ssh
11 | Sylvester:~ lisa$ ls
12 | id_dsa     id_dsa.pub

In Zeile 3 wird gefragt, wo man die Keys abspeichern möchte, als Antwort einfach Return drücken. Falls das Verzeichnis .ssh noch nicht existiert, wird es nun erstellt. Zur Passwortlosen Authentifizierung bei der Frage nach dem passphrase in Zeile 5 und 6 auch nur Return drücken (empty for no passphrase).

Im Verzeichnis ~/.ssh werden von dem Programm nun die zwei Dateien id_dsa und id_dsa.pub erstellt. id_dsa ist der Private-Key, id_dsa.pub der Public-Key. Der Private-Key sollte möglichst nicht in fremde Hände geraten.

Der Public-Key, also der Inhalt von id_das.pub muss nun auf dem Server in die Datei ~/.ssh/authorized_keys kopiert werden. Wenn der Ordner ~/.ssh oder die Datei noch nicht existiert kann man sie einfach erstellen.

Nachdem das alles erledigt ist sollte beim Login auf dem Server nicht mehr nach dem Passwort gefragt werden, da sich der Computer automatisch über die hinterlegten Keys authentifiziert.

Sylvester:~ lisa$ ssh techblog.7d0.de -l techlisa
Last login: Sat Jan 24 13:25:45 2009 from p0815ea9d.dip.t-dialin.net
Have a lot of fun...
techlisa@techblog.7d0.de:~>

Ich find´s praktisch und es soll ja auch sicherer sein, als die Authentifizierung mit Login und Passwort.

Zum Schluss noch die Manpage von ssh-keygen.

3 Gedanken zu „Passwortlose ssh-Authentifizierung“

  1. @Kai womit wir dann keine Passwortlose, sondern eine Authentifizierung mit einem 20-30 Zeichen langen Passwort für den Key haben? Das ist nicht Sinn der Sache. Der Passphrase muss leer bleiben, wie oben geschrieben, wenn man sich ohne Passwort, nur mit dem Key authentifizieren möchte.

  2. Man muss natürlich in der ssh config noch erlauben das die publickey authentifizierung verwendet werden darf. Ist meines wissens nicht die default einstellung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.