Я регулярно подключаюсь к компьютеру с двойной загрузкой OS X / Linux. Экземпляры двух ОС не используют один и тот же ключ хоста, поэтому их можно рассматривать как два хоста с одинаковыми IP и DNS. Допустим, IP-адрес 192.168.0.9
, а имена являются hostname
и hostname.domainname
Насколько я понял, решение для возможности подключения к двум хостам заключается в добавлении их обоих в файл ~/.ssh/know_hosts
. Однако это легче сказать, чем сделать, потому что файл хешируется и имеет, вероятно, несколько записей на хост (192.168.0.9
, hostname
, hostname.domainname
). Как следствие, у меня есть следующее предупреждение
Warning: the ECDSA host key for 'hostname' differs from the key for the IP address '192.168.0.9'
Есть ли простой способ отредактировать файл known_hosts
, сохранив при этом хэши. Например, как я могу найти строки, соответствующие данному хостам? Как я могу сгенерировать хеши для некоторых известных хостов?
Идеальное решение позволило бы мне беспрепятственно подключаться к этому компьютеру с помощью ssh, независимо от того, назову ли я его 192.168.0.9
, hostname
или hostname.domainname
, а также если он использует свой Linux hostkey или OSX hostkey. Тем не менее, я все еще хочу получить предупреждение, если есть настоящая атака «человек посередине», то есть если используется другой ключ, чем эти два.