Automatisches Login via SSH

(Anmeldung via SSH ohne das Passwort einzugeben)

SSH verwendet eine Public-Key Verschlüsselung. Man kann sich mittels öffentlichem Schlüssel einem Anderen gegenüber eindeutig identifizieren. Genauso wie dies mittels Passwort ebenfalls geschehen kann.
Damit man dieses Feature verwenden kann (RSA- oder DSA-Authentifizierung) muss man zunächst einmal sein eigenes Schlüsselpaar erzeugen:
equinox:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
91:95:c0:a0:24:02:16:e0:7d:d4:78:60:d4:d0:60:a8 root@equinox
equinox:~#
Um sich ohne Passwort anmelden zu können, sollte man auf die Frage nach einer "Passphrase" einfach mittels "Eingabetaste" antworten. Genau das selbe gilt auch für alle anderen Fragen. Die Voreinstellungen sind korrekt.
Als letzte Zeile bekommt man dann seinen persönlichen Fingerabdruck ausgegeben. Ausserdem hat man in seinem Homeverzeichnis (in obigem Beispiel wurde ssh-keygen als root ausgeführt - funktioniert aber als jeder beliebige Benutzer!) ein Verzeichnis .ssh in dem sich neben known_hosts (die Datei in der alle SSH-Server Fingerabdrücke gespeichert werden) auch noch folgende Dateien:
equinox:~# ls .ssh
id_rsa  id_rsa.pub  known_hosts
equinox:~#
id_rsa enthält den privaten Schlüssel, id_rsa.pub den öffentlichen. Um nun ohne sein Passwort eingeben zu müssen an einen Server zu kommen, muss man lediglich den öffentlichen Schlüssel auf den Server kopieren und dort im Homeverzeichnis im Unterverzeichnis .ssh der Datei authorized_keys2 hinzufügen. Wenn diese Datei nicht existiert, dann muss sie einfach neu erstellt werden! (Immer eine Zeile pro Schlüssel!).
equinox:~# scp .ssh/id_rsa.pub server.mein.lan:~/
root@server.mein.lan's password:
id_rsa.pub           100% |**********************************************|   222       00:00
equinox:~# ssh server.mein.lan
root@server.mein.lan's password:
Last login: Fri Mar 28 15:54:24 2003 from equinox
Have a lot of fun...
server:~ # cat id_rsa.pub >> .ssh/authorized_keys2
server:~ # exit
logout
Connection to server.mein.lan closed.
equinox:~# ssh server.mein.lan
Last login: Fri Mar 28 18:20:44 2003 from equinox
Have a lot of fun...
server:~ #
Wie man an der letzten Zeile sehen kann, funktioniert das passwortlose Login bereits!



Diese Seite wird von Adi Kriegisch verwaltet.