Иногда, когда я подключаюсь через SSH к серверу, которого нет в моем известном файле hosts, ssh выдает мне сообщение:
Подлинность хоста [[domain] ([ip_address]) 'не может быть установлена.
Отпечаток ключа RSA - это [отпечаток пальца].
Вы уверены, что хотите продолжить подключение (да / нет)?
Если я выберу «да», я получу сообщение:
Предупреждение. Постоянно добавлен «[домен]» (RSA) в список известных хостов.
Но для некоторых других серверов (например, github.com) мне не предлагается продолжить, и вместо этого я немедленно получите следующее сообщение, которое сформулировано немного по-другому:
Предупреждение: Постоянно добавлен ключ хоста RSA для IP-адреса '[ip_address]' в список известных хостов.
Что вызывает эту разницу в поведении? И что более важно, когда я не Подскажите, нужно ли вручную проверять ключ, который был добавлен в файл known_hosts, прежде чем продолжить работу с сервером?
В обоих случаях я аутентифицируюсь с помощью открытого ключа. Я использую OS X 10.10.3, используя установленный OpenSSH.
Ответы:
Вероятно, это связано с тем, что у этих сайтов хранится отпечаток ssh в DNS, поэтому они больше не мешают пользователям проверять ключ.
Функция называется SSHFP record. Вы можете проверить это используя
ssh-keygen -r github.com
источник
dig SSHFP github.com
это команда, которая вам нужна для запроса записей DNS. Команда, которую вы цитируете, я думаю, для порождающий такие записи.VerifyHostKeyDNS
Параметр конфигурации ssh, который должен быть правильно настроен для запроса DNS для SSHFP. Похоже, это было отключено по умолчанию в моей конфигурации.Оказывается, я просто идиот.
Несмотря на то, как утверждает Jakuje SSHFP разрешает сайтам хранить отпечатки своих открытых ключей в записях DNS, в данном случае ключ было уже в файле known-hosts, под именем домена, (который я обнаружил, добавив
-v
флаг отладки для моегоssh
команда).Как объясняет полученное мной информационное сообщение, в файл добавляется новая строка для используемого IP-адреса ,
источник