Good to Know Database

CentOS 5: SSH-Login ohne Passwort-Authentifizierung


Beim Aufbau einer SSH-Verbindung zu einem Linux-System benötigen Sie in der Regel ein Passwort um sich auf dem Linux-System zu authentifizieren. Eine Alternative zu der Passwort-Authentifizierung auf einem entfernten Linux-System bietet ein sogenannter SSH-Schlüssel. Dadurch müssen Sie sich beim SSH-Server nicht mehr mit Ihrem Passwort authentifizieren. Bei SSH2 können Sie für den Schlüssel den Digital Signature Algorithm (DSA) oder das asymmetrische Kryptosystem RSA verwenden.

Zum Erstellen eines RSA-Schlüsselpaares rufen Sie auf Ihrem lokalen Linux-System den folgenden Befehl auf und folgen den Anweisungen.

Hinweis: Ihren privaten Schlüssel sollten Sie mit einem Passwort vor Missbrauch schützen.

[georg@centos5-client ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "My SSH Key"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/georg/.ssh/id_rsa.
Your public key has been saved in /home/georg/.ssh/id_rsa.pub.
The key fingerprint is:
64:15:14:ee:bd:94:c9:79:f3:7a:a8:6f:01:8d:4c:44 My SSH Key

Durch die Option -t legen Sie fest, ob ein RSA- oder ein DSA-Schlüsselpaar erstellt werden soll. Den Pfad und Dateinamen für das Schlüsselpaar können Sie mit -f angeben. Optional können Sie mit der Option -C auch einen Kommentar hinterlegen.

Sollten Sie das DSA-Verfahren verwenden wollen, ändern Sie die Option -t wie folgt ab. Beachten Sie bitte, dass Sie in diesem Fall die Dateinamen bei den folgenden Befehlen anpassen müssen.

[georg@centos5-client ~]$ ssh-keygen -t dsa -f ~/.ssh/id_dsa -C "My SSH Key"

Nachdem Sie die beiden Dateien ~/.ssh/id_rsa und ~/.ssh/id_rsa.pub beziehungsweise ~/.ssh/id_dsa und ~/.ssh/id_dsa.pub generiert haben, kopieren Sie den öffentlichen Schlüssel (~/.ssh/id_rsa.pub beziehungsweise ~/.ssh/id_dsa.pub) in Ihr Homeverzeichnis auf dem entfernten Linux-System.

[georg@centos5-client ~]$ scp ~/.ssh/id_rsa.pub georg@192.168.10.1:

Auf dem entfernten System hängen Sie jetzt Ihren öffentlichen Schlüssel mit dem folgenden Befehl an die Datei ~/.ssh/authorized_keys an.

[georg@centos5-server ~]$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Überprüfen Sie anschließend die Zugriffsrechte der Datei und ändern diese wenn nötig.

[georg@centos5-server ~]$ chmod 0600 ~/.ssh/authorized_keys

Vergessen Sie nicht die Datei mit Ihrem öffentlichen Schlüssel auf dem entfernten System zu löschen.

[georg@centos5-server ~]$ rm -f ~/id_rsa.pub

Anschließend können Sie wie gewohnt eine SSH-Verbindung zu dem Linux-System aufbauen.

[georg@centos5-client ~]$ ssh georg@192.168.10.1

Wenn Sie wie empfohlen Ihren privaten Schlüssel mit einem Passwort geschützt haben, sollten Sie jetzt die folgende Aufforderung zur Eingabe des Passwortes erhalten.

Enter passphrase for key '/home/georg/.ssh/id_rsa':

Sollte anstelle dieser Aufforderung die normale Passwort-Authentifizierung erscheinen, müssen Sie eventuell Ihren privaten Schlüssel in die lokale SSH-Konfigurationsdatei eintragen.

[georg@centos5-client ~]$ echo "IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config

Wenn diese Datei dadurch erst erstellt wurde, müssen Sie die Zugriffsrechte wie folgt anpassen.

[georg@centos5-client ~]$ chmod 0600 ~/.ssh/config


Dieser Eintrag wurde am 26.01.2009 erstellt und zuletzt am 20.10.2012 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_482.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer