Schlüssel von known_hosts entfernen

Schlüssel von known_hosts entfernen

Ich habe in den letzten Wochen mehrere virtuelle Maschinen gebaut. Das Problem ist, dass .ssh/known_hostsich damit dieDer Mann in der MitteWarnung. Dies liegt daran, dass der IP der virtuellen Maschine ein anderer Fingerabdruck zugeordnet ist.

In der .ssh/known_hostsDatei finde ich allerdings keinen Eintrag zur IP, sondern nur zwei skurrile, schlüsselartige Strings und "ssh-rsa".

Hat jemand eine Idee, wie man den alten Schlüssel entfernt known_hosts?

Antwort1

sed -i '6d' ~/.ssh/known_hosts

Ändert die Datei ~/.ssh/known_hosts:6 und entfernt die 6. Zeile.

Meiner Meinung nach ssh-keygen -Rist die Verwendung eine bessere Lösung für einen erfahrenen OpenSSH-Benutzer, während Ihr normaler Linux-Administrator besser daran täte, seine Sed-Kenntnisse mithilfe der obigen Methode auf dem neuesten Stand zu halten.

Antwort2

-RHierfür gibt es einen Schalter ssh-keygen ( ).

man ssh-keygenlautet:

-R Hostname

Entfernt alle Schlüssel, die zu hostnameeiner known_hostsDatei gehören. Diese Option ist nützlich, um gehashte Hosts zu löschen (siehe Option -Hoben).

Antwort3

Die einfachste Lösung ist:

rm -f .ssh/known_hosts

ssh erstellt die Datei erneut, aber Sie verlieren die Schlüsselprüfung für andere Hosts!

Oder Sie können Folgendes verwenden:

ssh-keygen -R "hostname"

Oder die SSH-Man-in-the-Middle-Meldung sollte angeben, welche Zeile der Datei known_hosts den fehlerhaften Fingerabdruck enthält. Bearbeiten Sie die Datei, springen Sie zu dieser Zeile und löschen Sie sie.

Antwort4

Alle Antworten sind gut, aber für echte SSH-Profis fehlen Informationen zum Entfernen der SSH-Signatur mit (nicht standardmäßiger) Portnummer.

  • Einfacher Befehl zum Entfernen der SSH-Hostsignatur:

      ssh-keygen -R example.com
    
  • Komplexes Entfernen des SSH-Schlüssels, z. B. Sie stellen eine SSH-Verbindung über den nicht standardmäßigen Port 222 her:

      ssh example.com -p 222
    

und Sie erhalten eine Warnung. Um diese zu entfernen, müssen Sieeckige KlammernDoppelpunkt Portnummer:

    ssh-keygen -R [example.com]:222

Beachten Sie, dass wahrscheinlich ein IP-Eintrag für denselben Host vorhanden ist; Sie müssen diesen also ebenfalls entfernen.

Ich hoffe, dies hilft Benutzern mit nicht standardmäßiger Konfiguration.

verwandte Informationen