Sichere Host-Keys generieren

Keys

Im Artikel Hardware-Zufallszahlengenerator verwenden wurde eine weitere Quelle für die Entropie hinzugefügt. Damit kannst du jetzt bessere und sicherere Hosts-Keys für deinen Raspberry PI erstellen. Da diese Host-Keys beim ersten Start des Raspberry PI generiert wurden oder sogar im Image des Betriebsystems enthalten waren sind diese auch nach Meinung Anderer nicht ausreichend sicher.

Alte Host-Keys entfernen

Die alten Host-Keys müssen entfernt werden.

sudo rm /etc/ssh/ssh_host_*

Neue Hosts-Keys erstellen

Mit Hilfe von dpkg-reconfigure erstellst du neue Host-Keys für deinen Raspberry PI.

sudo dpkg-reconfigure openssh-server Creating SSH2 RSA key; this may take some time ... 2048 e1:ea:0f:79:73:d8:c3:a2:4a:48:ba:e5:bc:14:7e:b9 /etc/ssh/ssh_host_rsa_key.pub (RSA) Creating SSH2 DSA key; this may take some time ... 1024 05:35:a8:02:3c:aa:ed:69:b5:78:61:f7:25:4e:19:00 /etc/ssh/ssh_host_dsa_key.pub (DSA) Creating SSH2 ECDSA key; this may take some time ... 256 32:d6:f4:69:aa:6e:3e:03:41:0c:37:47:1a:31:6f:d7 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA) Creating SSH2 ED25519 key; this may take some time ... 256 28:82:2c:4b:f5:e1:12:e9:53:6f:04:9f:33:65:21:14 /etc/ssh/ssh_host_ed25519_key.pub (ED25519)

Mit SSH verbinden

Die neue Verbindung wird am besten in einem neuen Terminalfenster durchgeführt und die bisherige SSH-Verbindung offen gelassen, damit bei einem Fehler die Host-Keys noch einmal geniert werden könnten.

Wie zu sehen wird eine Warnung von SSH ausgegeben, da sich die Host-Keys geändert haben.

ssh raspberry1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:TfwODLlfPWMwlwjoDnc2yD4WmwxbsHf7asXx2B6VDZU. Please contact your system administrator. Add correct host key in /Users/Blar/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/Blar/.ssh/known_hosts:125 ECDSA host key for 10.0.1.124 has changed and you have requested strict checking. Host key verification failed.

Alten Eintrag entfernen

Die alten Einträge auf der Datei ~/.ssh/known_hosts die noch auf die alten Host-Keys verweisen müssen entfernt werden. Dies kann auch mit einem Texteditor gemacht werden, aber ssh-keygen ist hier weniger fehleranfällig. Hier muss der richtige Host entfernt werden und nicht der Alias aus der Datei ~/.ssh/config. Der korrekte Host wird auch in der Fehlermeldung noch einmal mit ausgegeben und wurde von mir hervorgehoben.

ssh-keygen -R 10.0.1.124 # Host 10.0.1.124 found: line 125 /Users/Blar/.ssh/known_hosts updated. Original contents retained as /Users/Blar/.ssh/known_hosts.old

Erneut mit SSH verbinden

Da es sich hier jetzt bei SSH um einen neuen unbekannten Host handelt auf dem du dich verbinden möchtest, muss einmal die Verbindung bestätigt werden. Ab jetzt werden die neuen Host-Keys verwendet und du kannst dich wieder normal per SSH verbinden.ssh raspberry1 The authenticity of host '10.0.1.124 (10.0.1.124)' can't be established. ECDSA key fingerprint is SHA256:TfwODLlfPWMwlwjoDnc2yD4WmwxbsHf7asXx2B6VDZU. Are you sure you want to continue connecting (yes/no)? yes

Weitere Programme

Sollten noch andere Programme per SSH oder SFTP für den Raspberry PI eingerichtet werden, wie z.B. FileZilla im Artikel Dateien mit FileZilla hochladen, so kommt auch bei diesen Programmen bei der nächsten Verbindung eine Meldung dass der neue Host-Key bestätigt werden muss. Bei FileZilla nicht vergessen den Haken Für diesen Server gespeicherten Schlüssel aktualisieren zu setzen, da sonst bei jeder erneuten Verbindung diese Meldung angezeigt wird.

Filezilla host key

Das Artikelbild wurde von https://www.pexels.com/photo/metal-white-door-black-67609/ und ist unter der CC0 License lizenziert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.