SSH Anmeldung an dem Raspberry Pi ohne Passwort mit Elliptische Kurve – ed25519 Key


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:

Dann in der /etc/ssh/sshd_config des Pi die folgenden Einträge setzen: …

Dann den SSH Service restarten und in der Konsole bleiben. Das ist wichtig, um sich nicht selbst auszusperren bei Fehler in der Konfiguration.

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 mit dem Programm ssh-keygen generiert.

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 mit anderen Dateinamen gespeichert.

Es werden nun zwei Dateien (ein asymmetrische Schlüsselpaar) generiert, die ed25519_key mit dem privaten Key und die ed25519_key.pub mit dem public Key.

Am Dateinamen kann man erkennen, was der private Key ist, der endet mit key und der public Key endet mit pub. Wenn man aber ganz sicher sein will, läßt man sich den Inhalt des Key mit cat ausgeben. Z.B. cat ed25519_key dann erhält man den private Key auf der Konsole ausgegeben, und in der ersten Zeile steht dann, das es der PRIVATE KEY ist, z.B.

Wo hingegen der Public Key bei ED nur eine Zeile enthält, z.B. cat ed25519_key.pub:

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:

Weitere Optionen zur ~/.ssh/config gibt es in der umfangreichen Referenz.

Jetzt noch den public Key vom Mac auf den Pi kopieren damit er in der ~/.ssh/authorized_keys Datei eingetragen wird, dazu in das ~/.ssh Verzeichnis wechseln und:

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.