2

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

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

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

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

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

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

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

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

2 ответа2

3

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

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

1

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

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

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

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