Wenn man vom Mac aus auf einen entfernten Raspberry Pi (Zero W) zugreifen will, kann man das auch ohne jedesmal ein Passwort eingeben zu müssen. Dafür kann das Public RSA Key Verfahren verwendet werden.
![](http://blog.wenzlaff.de/wp-content/uploads/2017/03/ssh-rsa.png)
Dazu muss auf dem Pi ein .ssh Verzeichnis mit einer authorized_keys Datei angelegt werden:
|
cd .ssh touch authorized_keys chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys |
Dann in der /etc/ssh/sshd_config des Pi die folgenden Einträge setzen:
|
sudo vi /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys PasswordAuthentication yes |
Dann den SSH Service restarten und in der Konsole bleiben.
|
sudo /etc/init.d/ssh restart |
Dann einmalig auf dem Mac einen RSA Key mit der Größe von 2048 anlegen.
Dazu bin ich in das .ssh Verzeichnis gewechselt und habe einen Key nur für die Pis ohne Passwort wie folgt angelegt:
|
ssh-keygen -b 2048 -t rsa |
Bei der Nachfrage nach einem Passwort, einfach nur Enter eingeben.
Da ich mehrere Keys in Verwendung habe, habe ich den Key in einer neuen Datei gespeichert, z.B. pi_id_rsa
Es werden nun zwei Dateien generiert, die pi_id_rsa mit dem privaten Key und die pi_id_rsa.pub mit dem public key.
Da mein default Key im Mac ein anderer ist, habe ich in der ~/.ssh/config Datei des Macs, wie hier schon mal beschrieben, um den folgenden Eintrag IdentityFile mit dem Namen für den privaten Key für die Verwendung des eben generierten Key und nicht des default Keys eingetragen:
|
Host zero HostName pi-zero Port 22 User pi IdentityFile ~/.ssh/pi_id_rsa |
Weitere Optionen zur ~/.ssh/config gibt es in der umfangreichen Referenz.
Jetzt noch den Key vom Mac auf den Pi kopieren damit er in der ~/ssh/authorized_keys Datei eingetragen wird, dazu in das ~/.ssh Verzeichnis wechseln und:
|
cat pi_id_rsa.pub | ssh pi@zero 'cat>>.ssh/authorized_keys' |
Jetzt von einer anderen Konsole testen ob alles läuft.
Wenn das Anmelden mit:
ohne Passwort nachfrage klappt ist alles ok. Sonst in der anderen Konsole fixen, sonst sperrt man sich selbst aus.
Habe ich was vergessen?