Ich ssh regelmäßig in einen Computer, der ein Dual-Boot-OS X / Linux-Computer ist. Die beiden Betriebssysteminstanzen verwenden nicht denselben Hostschlüssel, sodass sie als zwei Hosts angesehen werden können, die dieselbe IP und denselben DNS verwenden. Nehmen wir an, die IP ist 192.168.0.9und die Namen sind hostnameundhostname.domainname
Soweit ich verstanden habe, besteht die Lösung, um eine Verbindung zu den beiden Hosts herzustellen, darin, beide zur ~/.ssh/know_hostsDatei hinzuzufügen . Allerdings ist es leichter gesagt als getan, da die Datei gehasht wird, und hat wahrscheinlich mehrere Einträge pro Host ( 192.168.0.9, hostname, hostname.domainname). Als Konsequenz habe ich folgende Warnung
Warning: the ECDSA host key for 'hostname' differs from the key for the IP address '192.168.0.9'
Gibt es eine einfache Möglichkeit, die known_hostsDatei unter Beibehaltung der Hashes zu bearbeiten ? Wie kann ich zum Beispiel die Zeilen finden, die einem bestimmten Hostnamen entsprechen? Wie kann ich die Hashes für einige bekannte Hosts generieren?
Die ideale Lösung würde mir erlauben , nahtlos an diesen Computer mit ssh zu verbinden, egal ob ich es nennen 192.168.0.9, hostnameoder hostname.domainname, noch wenn es verwendet , um seine Linux hostkey oder seine OSX hostkey. Ich möchte jedoch weiterhin eine Warnung erhalten, wenn es sich um einen echten Man-in-the-Middle-Angriff handelt, dh wenn ein anderer Schlüssel als diese beiden verwendet wird.