Wenn man vom Mac (Windows geht natürlich auch) aus auf einen entfernten Raspberry Pi 4 B zugreifen will, kann man das auch ohne jedesmal ein Passwort eingeben zu müssen. Dafür kann das moderne ed25519 Key Verfahren verwendet werden.
Dazu muss auf dem Pi ein .ssh Verzeichnis mit einer authorized_keys Datei angelegt werden:
1 2 3 4 5 6 7 |
# wenn das .ssh Verzeichnis noch nicht da ist, dann anlegen mit mkdir .ssh 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: …
1 2 3 4 5 |
sudo vi /etc/ssh/sshd_config HostKey /etc/ssh/ssh_host_ed25519_key PubkeyAuthentication yes PasswordAuthentication yes |
Dann den SSH Service restarten und in der Konsole bleiben. Das ist wichtig, um sich nicht selbst auszusperren bei Fehler in der Konfiguration.
1 |
sudo /etc/init.d/ssh restart |
Dann einmalig auf dem Mac einen ed25519_key Key anlegen.
Dazu bin ich in das .ssh Verzeichnis gewechselt und habe einen Key nur für die Pis ohne Passwort wie folgt angelegt:
1 |
ssh-keygen -t ed25519 |
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. ed25519_key
Es werden nun zwei Dateien generiert, die ed25519_key mit dem privaten Key und die ed25519_key.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:
1 2 3 4 5 |
Host vier HostName pi-vier Port 22 User pi IdentityFile ~/.ssh/id_ed25519 |
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:
1 2 3 |
cd ~/.ssh cat id_ed25519.pub | ssh pi@vier 'cat>>.ssh/authorized_keys' |
Jetzt von einer anderen Konsole testen ob alles läuft. Wenn das Anmelden mit:
1 |
ssh vier |
ohne Passwort nachfrage klappt ist alles ok. Sonst in der anderen Konsole fixen, sonst sperrt man sich selbst aus.