de Netzwerk

SSH - Host aus der known_host entfernen

Möchte man die nervige Meldung beim Verbinden eines neu installierten Hosts über SSH nicht mehr sehen, muss der SSH-Key aus der Datei `$HOME/.ssh/known_hosts' entfernt werden. Dafür gibt es verschiedene Möglichkeiten.

Möglichkeit 1

Mit hilfe des Tools ssh-keygen kann man den veralteten Key entfernen. Dafür benötigt man nur den Hostnamen des zu entfernenden Servers und den Pfad der Datei. Anschließend sieht der Befehl so aus.

1ssh-keygen -R hostname -f pfad_zur_datei_known_hosts
2
3# Der Pfad zur Datei kann meistens auch so referenziert werden
4
5ssh-keygen -R hostname -f $HOME/.ssh/known_hosts

Möglichkeit 2

Die Zeile in der Datei kann man natürlich auch manuell entfernen. Hierfür guckt man sich die Warnmeldung nochmal an um die Zeilennummer zu bekommen (diese steht in der 3. Zeile von unten).

 1@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 2@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
 3@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 4IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
 5Someone could be eavesdropping on you right now (man-in-the-middle attack)!
 6It is also possible that a host key has just been changed.
 7The fingerprint for the ECDSA key sent by the remote host is
 8SHA256:123456789.
 9Please contact your system administrator.
10Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
11Offending RSA key in /home/user/.ssh/known_hosts:60
12ECDSA host key for my.dom.tld has changed and you have requested strict checking.
13Host key verification failed.

Nun kann man mit einem Editor seiner Wahl die Datei öffnen und diese Zeile entfernen.

Möglichkeit 3

Man kann die Überprüfung auf den Key auch vollständig deaktivieren, was aber nur für erfahrene Administratoren gedacht ist, da man hierbei einen wichtigen Sicherheitsmechanismus aushebelt.

1ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@hostname

Hier wird die known_hosts Datei auf /dev/null' gesetzt und das hinzufügen der Key mit StrictHostKeyChecking=no' blockiert.