Zapobieganie ostrzeżeniom klucza hosta SSH RSA o zmianie klucza vs adresu IP

9

Mam sieć z włączoną obsługą DHCP, a także komputer, który podwójnie uruchamia systemy operacyjne i ma różne klucze SSH na każdym (i tak, chciałbym zachować inne klucze na każdym z nich niż kopiować ten sam klucz tożsamości / prywatny do każdego). Ponieważ adres IP nie zmienia się między systemami operacyjnymi, ponieważ adres MAC jest taki sam, podczas łączenia się z ssh, nawet jeśli nie używasz adresu IP, ale nazwę hosta przez DNS / mDNS, otrzymuję ostrzeżenie:

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)?

Jak mogę zignorować ostrzeżenie, gdy nazwa hosta różni się od adresu IP dla tej nazwy, ale zachować możliwość sprawdzania, czy klucze hosta są takie same dla każdej nazwy hosta? (każdy system operacyjny ma unikalną nazwę hosta)

Adam MW
źródło

Odpowiedzi:

19

Umieść CheckHostIP now pliku ~ / .ssh / config. Przykładowy plik konfiguracyjny:

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

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

Z ssh_config (5) :

CheckHostIP

Jeśli ta flaga jest ustawiona na „tak”, ssh (1) dodatkowo sprawdzi adres IP hosta w pliku znanego_hosta. Pozwala to ssh wykryć, czy klucz hosta zmienił się z powodu fałszowania DNS. Jeśli opcja jest ustawiona na „nie”, kontrola nie zostanie wykonana. Domyślna wartość to „tak”.

Proszę wstać
źródło
Od razu zadziałało świetnie. Dzięki za jasną szybką i zwięzłą odpowiedź.
Adam MW