knownhosts bearbeiten

Wenn einem die folgende Fehlermeldung zu Augen kommt, heißt dass, dass die Gegenseite einen neuen HostKey bekommen hat.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The RSA host key for [da-checka.ath.cx]:55002 has changed, and the key for the corresponding IP address [93.213.99.20]:55002 is unknown. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is e7:20:91:bd:ea:f6:22:f4:27:14:5a:63:ee:3d:7c:0a. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:5 RSA host key for [da-checka.ath.cx]:55002 has changed and you have requested strict checking. Host key verification failed.

Wie kann man jetzt diese Meldung abschalten?

Linux speichert alle Hostkeys in der Datei ~/.ssh/known_hosts. Wenn bei einer Verbindung ein anderer Hostkey ausgetauscht wird, nimmt Linux an, dass sich ein Man-in-the-Middle Angriff stattfindet. Wenn man aber ausschließen kann, dass es keine Attacke ist, kann man den Eintrag löschen.

Methode 1

Methode 2

Sollten in der Datei known_hosts nicht die Hostnamen sonder Komische Ziffern/Zeichenfolgen stehen, kann man den Hostkey folgendermaßen löschen

Heraussuchen des Keys aus der Datei known_host erfolgt mit

ssh-keygen -F <HostName>

Dabei ist zu beachten, dass man den Hostnamen genau so angiebt, wie er in der Fehlermeldung ausgegeben wurde(in meinem Fall [da-checka.ath.cx]:55002). Wenn der Hostname in der Datei verfügbar ist, wird der gesamte RSA-Key angezeigt.

Diesen Key kann man jetzt aus der Datei ~/.ssh/known_hosts herauslöschen, oder mit folgendem Kommando löschen lassen (empfohlen)

ssh-keygen -R <HostName>