9

У меня есть сеть с включенным DHCP, а также компьютер, который выполняет двойную загрузку операционных систем и имеет разные ключи SSH на каждом (и да, я хотел бы сохранить разные ключи на каждом, а не копировать один и тот же идентификационный / закрытый ключ для каждого). Поскольку IP-адрес не изменяется между операционными системами, потому что MAC-адрес один и тот же, при подключении к ssh, даже когда не используется IP-адрес, но имя хоста через DNS / mDNS, я получаю предупреждение:

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

Как я могу подавить предупреждение, когда имя хоста отличается от IP-адреса для этого имени хоста, но сохранить возможность проверки ключей хоста одинаковыми для каждого имени хоста? (каждая ОС имеет уникальное имя хоста)

1 ответ1

19

Поместите CheckHostIP no в файл ~/.ssh/config. Пример файла конфигурации:

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

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

Из ssh_config(5):

CheckHostIP

Если для этого флага установлено значение "да", ssh(1) дополнительно проверит IP-адрес хоста в файле known_hosts. Это позволяет ssh определять, изменился ли ключ хоста из-за подмены DNS. Если для параметра установлено значение "нет", проверка не будет выполнена. По умолчанию "да".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .