Почему ssh не всегда просит меня проверить отпечаток ключа сервера?

2

Иногда, когда я подключаюсь через SSH к серверу, которого нет в моем известном файле hosts, ssh выдает мне сообщение:

Подлинность хоста [[domain] ([ip_address]) 'не может быть установлена.
Отпечаток ключа RSA - это [отпечаток пальца].
Вы уверены, что хотите продолжить подключение (да / нет)?

Если я выберу «да», я получу сообщение:

Предупреждение. Постоянно добавлен «[домен]» (RSA) в список известных хостов.

Но для некоторых других серверов (например, github.com) мне не предлагается продолжить, и вместо этого я немедленно получите следующее сообщение, которое сформулировано немного по-другому:

Предупреждение: Постоянно добавлен ключ хоста RSA для IP-адреса '[ip_address]' в список известных хостов.

Что вызывает эту разницу в поведении? И что более важно, когда я не Подскажите, нужно ли вручную проверять ключ, который был добавлен в файл known_hosts, прежде чем продолжить работу с сервером?

В обоих случаях я аутентифицируюсь с помощью открытого ключа. Я использую OS X 10.10.3, используя установленный OpenSSH.

Rich
источник
да это жизнь!
theoden
Я предполагаю, что это потому, что большие сайты, такие как github, используют несколько серверов, которые совместно используют домен, но имеют разные ключи хоста.
Frank Thomas

Ответы:

3

Вероятно, это связано с тем, что у этих сайтов хранится отпечаток ssh в DNS, поэтому они больше не мешают пользователям проверять ключ.

Функция называется SSHFP record. Вы можете проверить это используя ssh-keygen -r github.com

Jakuje
источник
Спасибо! Это выглядит как будто dig SSHFP github.com это команда, которая вам нужна для запроса записей DNS. Команда, которую вы цитируете, я думаю, для порождающий такие записи.
Rich
Также стоит упомянуть VerifyHostKeyDNS Параметр конфигурации ssh, который должен быть правильно настроен для запроса DNS для SSHFP. Похоже, это было отключено по умолчанию в моей конфигурации.
Rich
Спасибо за упоминание этого @Rich. У меня эта опция также отключена по умолчанию. Во всяком случае, моя и ваша команда выполняет поиск. Хранение сложнее
Jakuje
1

Оказывается, я просто идиот.

Несмотря на то, как утверждает Jakuje SSHFP разрешает сайтам хранить отпечатки своих открытых ключей в записях DNS, в данном случае ключ было уже в файле known-hosts, под именем домена, (который я обнаружил, добавив -v флаг отладки для моего ssh команда).

Как объясняет полученное мной информационное сообщение, в файл добавляется новая строка для используемого IP-адреса ,

Rich
источник