SSH Anmeldung ohne Passwort11. Dezember 2008
Ihr AnliegenSie möchten unter Linux Aufgaben automatisieren und brauchen daher als von Rechner A als Benutzer a einen SSH-Login auf B als b ohne Passwort. Trotzdem soll die Verbindung abgesichert sein. Das PrinzipVerwenden Sie SSH mit öffentlichen Schlüsseln (Public Key). Anstelle von Passworten verwendet SSH dann ein Paar aus privatem und öffentlichem Schlüssel für die Anmeldung. Das VorgehenErzeugen Sie zunächst auf Rechner A als Benutzer a ein Schlüsselpaar. Achten Sie darauf, dass dieses ohne Passphrase gespeichert wird (einfach zweimal Return drücken): a@A> ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/a/.ssh/id_rsa): Created directory '/home/a/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/a/.ssh/id_rsa. Your public key has been saved in /home/a/.ssh/id_rsa.pub. The key fingerprint is: 3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A Nun melden Sie sich (diesmal noch mit Passwort) auf Rechner B als Benutzer b an. Erzeugen Sie dort das Verzeichnis .ssh im Homeverzeichnis von b (wenn es das schon gibt, ist es auch gut): b@B> mkdir -p ~/.ssh Im dritten und letzten Schritt muss b@B einen Zugriff mit dem anfangs erzeugten Schlüssel erlauben. Das geht am sichersten von A aus mit folgendem Befehl (wobei Sie ein letztes Mal das Passwort eingeben müssen): a@A> cat ~/.ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys' Dabei wird der öffentliche Teil des Schlüsselpaares beim Benutzer b an die Textdatei .ssh/authorized_keys angehängt. In dieser Datei können auch mehrere Schlüssel erlaubt werden - einer pro Zeile. Wenn Sie alles richtig gemacht haben, muss jetzt ein Einloggen ohne Passwort möglich sein. Sie können das z.B. so prüfen: a@A> ssh b@B hostname B Auch ein Kopieren von Dateien mit scp funktioniert ohne Passworteingabe. Hinweise für anderen SSH-VersionenIn Abhängigkeit von Ihrer Version von SSH kann es sein, dass Sie noch folgendes beachten müssen:
SicherheitshinweisBei dem hier beschriebenen Verfahren liegt der Schlüssel auf Rechner A unverschlüsselt vor. Ein Angreifer, der Zugriff auf A als Benutzer a erlangt, hat damit automatisch Zugriff auf Rechner B als Benutzer b. |
| |||||||||||||||||||||