Verhindern von SSH-RSA-Hostschlüsselwarnungen bei Änderung des Schlüssels gegenüber der IP-Adresse

9

Ich habe ein Netzwerk mit aktiviertem DHCP und einen Computer, der Betriebssysteme doppelt startet und auf jedem unterschiedliche SSH-Schlüssel hat (und ja, ich möchte unterschiedliche Schlüssel auf jedem behalten, anstatt die gleiche Identität / den gleichen privaten Schlüssel auf jeden zu kopieren). Da sich die IP-Adresse zwischen Betriebssystemen nicht ändert, weil die MAC-Adresse beim Herstellen einer Verbindung mit ssh dieselbe ist, auch wenn nicht die IP-Adresse, sondern der Hostname über DNS / mDNS verwendet wird, wird folgende Warnung angezeigt:

Warning: the RSA host key for 'hostname' differs from the key for the IP address '192.168.1.172'
Offending key for IP in /Users/user/.ssh/known_hosts:37
Matching host key in /Users/user/.ssh/known_hosts:38
Are you sure you want to continue connecting (yes/no)?

Wie kann ich die Warnung unterdrücken, wenn der Hostname von der IP-Adresse für diesen Hostnamen abweicht, aber weiterhin prüfen kann, ob die Hostschlüssel für jeden Hostnamen gleich sind? (Jedes Betriebssystem hat einen eindeutigen Hostnamen)

Adam MW
quelle

Antworten:

19

CheckHostIP noFügen Sie Ihre ~ / .ssh / config-Datei ein. Beispielkonfigurationsdatei:

Host foo-win.local foo-win
  Hostname foo-win.local
  CheckHostIP no

Host foo-lin.local foo-lin
  Hostname foo-lin.local
  CheckHostIP no

Von ssh_config (5) :

CheckHostIP

Wenn dieses Flag auf "yes" gesetzt ist, überprüft ssh (1) zusätzlich die Host-IP-Adresse in der Datei unknown_hosts. Dadurch kann ssh erkennen, ob sich ein Hostschlüssel aufgrund von DNS-Spoofing geändert hat. Wenn die Option auf "Nein" gesetzt ist, wird die Prüfung nicht ausgeführt. Der Standardwert ist "Ja".

PleaseStand
quelle
Hat sofort super funktioniert. Vielen Dank für die klare, schnelle und präzise Antwort.
Adam MW