Dies ist eine alte Version des Dokuments!
Hier wird beschrieben, wie man vom Windows-Desktop mit PuTTY auf den Pi mit SSH verbinden kann, ohne Username und Passwort einzugeben.
Benötigt wird dazu PuTTY als SSH Client und Puttygen zum Erzeugen der Keys. Alle benötigten Programme sind
hier zu finden.
Die Programme sind ausführbar und müssen daher nicht installiert werden
Mit PuTTYgen wird nun ein private/public Keypaar erzeugt. Dafür wird nun der PuTTY Key Generator gestartet. Die Einstellungen wie im Bild vornehmen:
Auf Generate
drücken und und während der Erstellung der Keys den Cursor mit der Maus über das leere Feld bewegen.
Es wurde ein private/public Keypaar erzeugt. Auf die Eingabe von Key Comment und Key Passphrase wird hier verzichtet. Bei Key Comment wird üblicherweise die Mail-Adresse eingetragen. Mit der Key Passphrase kann ein Kennwort eingegeben werden, welches dann beim Verbindungsvorgang eingegeben werden muss. Es erhöht zwar die Sicherheit, ist aber in geschlossenen Netzwerken nicht unbedingt erforderlich.
Public und private Key speichern. Den Public Key als Textdatei (zB. id_rsa.txt) und Private Key mit der Endung .ppk speichern.
Den Private Key vornehmlich in einem Bereich speichern, in dem nur der Anwender Zugriff hat.
Den Public Key nun auf den Raspberry übertragen. Das Programm FileZilla ist zB. ein geeigneter FTP-Client um den Datentransfer durchzuführen.
Die Datei id_rsa.txt
in das Verzeichnis pi am Raspberry kopieren.
Auf dem Raspberry als User pi einloggen und in der Konsole ein Verzeichnis .ssh anlegen:
mkdir ~/.ssh chmod 700 ~/.ssh sudo cat id_rsa.txt >> ~/.ssh/authorized_keys nano ~/.ssh/authorized_keys
In der Datei authorized_keys
muss der Key in einer einzelnen Zeile stehen, dh., es sind alle Zeilenvorschübe etc. zu entfernen. Vor dem eigentlichen Key muss ssh-rsa
eingefügt werden, falls nicht vorhanden. Es sollte etwa so wie im Bild aussehen.
---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20170207" ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEApInMGIfA370....$ ---- END SSH2 PUBLIC KEY ----
~ $ sudo nano /etc/ssh/sshd_config
In der sshd_config folgenden Eintrag kontrollieren und eventuell vornehmen
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
und dann den sshd neu starten:
~ $ sudo /etc/init.d/ssh restart
PuTTY starten, das Profil laden und die Kategorie SSH/Auth aufrufen
im Feld Connection / Data Auto-login username
den User pi
eintragen.
Im Feld Private key file for authentication
Ort und Name des Private Key Files eintragen, wieder zurück in die Katgorie Session
und die Taste Save
drücken.
Für ein Login am Raspberry nun PuTTY Starten und das entsprechende Profil auswählen.
Nachdem wir nun eine Verbindung mit dem Raspberry Pi mithilfe von Schlüsseln herstellen können, kann die Kennwortauthentifizierung für zusätzliche Sicherheit vollständig deaktiviert werden. Damit kann man sich nur mehr von Rechnern mit dem PI verbinden, auf denen der Public Key
gespeichert ist.
Dazu die SSHD Configuration öffnen
~ $ sudo nano /etc/ssh/sshd_config
und den Eintrag PasswordAuthentication yes
auf PasswordAuthentication no
ändern, und dann den sshd neu starten:
~ $ sudo /etc/init.d/ssh restart
Falls der RPi ohne Tastatur / Monitor betrieben wird, ist es empfehlenswert eine eigene Session von Putty für diesen Vorgang zu verwenden, um im Fehlerfall noch eine gültige Verbindung für Korrekturen offen zu haben.