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.9
und die Namen sind hostname
undhostname.domainname
Soweit ich verstanden habe, besteht die Lösung, um eine Verbindung zu den beiden Hosts herzustellen, darin, beide zur ~/.ssh/know_hosts
Datei 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_hosts
Datei 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
, hostname
oder 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.