Почему у меня две записи на сервер в файле known_hosts?


9

На моем Mac в ~/.ssh/known_hostsфайле есть 1 запись на сервер , в Ubuntu я заметил, что для каждого сервера создано две записи. Это почему?

Формат:

|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
|1|vvvvvvvvvvvvvvv=|vvvvvvvvvv= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=

В обеих записях первый раздел перед ecdsa-sha2-nistp256 отличается. После ecdsa-sha2-nistp256 это то же самое (ключ паба, который я представляю).

Я ssh на сервер A, и оттуда я ssh на сервер B. Я не добавляю записи вручную, я вижу предупреждение Ubuntu и позволяю его добавить в файл known_hosts.

Я закрыл файл known_hosts для этого теста.

У меня есть обоснованное сомнение, что дополнительная запись предназначена для адреса ipv6, хотя я и не использовал его для подключения. Добавляет ли Ubuntu это автоматически, если доступно?

ssh  openssh 

Как вы добавляете записи в файл? Вы можете войти на сервер с несколькими пользователями? Пожалуйста, отредактируйте свой вопрос и включите конкретные команды, используемые для создания записей.
Тердон

@terdon Я не добавляю записи вручную. Я просто ssh на сервер, и проверить предупреждение и принять его.

Если я правильно понимаю справочную страницу ssh , раздел "SSH_KNOWN_HOSTS FILE FORMAT", первое значение - это хешированное имя хоста ... но это еще больше сбивает с толку, поскольку они не должны иметь одинаковый ключ публикации.
PythoNic

@PythoNic Я тоже это прочитал и запутался. Но я тестирую SSH с удаленного сервера. Таким образом, в основном я ssh на сервер A, и я ssh оттуда на сервер B. Может ли это быть причиной? Или это может быть запись ipv6? Я действительно смущен.

Ответы:


11

У вас есть две записи, потому что одна по домену, а другая по IP-адресу, поэтому ваш пример:

|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
|1|vvvvvvvvvvvvvvv=|vvvvvvvvvv= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=

может в действительности прочитать:

[example.com] ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=
[192.168.6.8] ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=

Если вы отключите известное хеширование хоста (добавьте его HashKnownHosts noв файл ~ / .ssh / config), то вы сможете увидеть, что происходит, но в нехэшированном файле known_host как домен, так и IP-адрес могут отображаться в одной строке, поэтому они выглядит так:

[example.com],[192.168.6.8] ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=

Здесь немного больше обсуждается формат файла known_hosts.


1

У вас должен быть один ключ для каждого сервера, к которому вы подключены. Либо вы подключались к двум серверам в разное время, либо ключ на вашем отдельном сервере был изменен.

Когда вы впервые подключаетесь к ssh-серверу, вас спрашивают, хотите ли вы добавить ключ к известным хостам.

Выглядит примерно так:

введите описание изображения здесь

Таким образом, вы приняли ключи с вашим клиентом в какой-то момент времени.

При каждом последующем подключении при подключении к серверу сравниваются ключи и выдается предупреждение об их изменении.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ВНИМАНИЕ: УДАЛЕННАЯ ИДЕНТИФИКАЦИЯ ХОЗЯЙКА ИЗМЕНИЛАСЬ! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ВОЗМОЖНО, ЧТО-то кто-то делает противное! Кто-то может подслушивать вас прямо сейчас (атака «человек посередине»)! Также возможно, что ключ хоста RSA был только что изменен. Отпечаток ключа RSA, отправленный удаленным хостом, имеет вид f2: 92: 1d: da: 81: 2a: d7: 16: 0a: 48: f0: 43: 20: 1c: f4: b5. Пожалуйста, обратитесь к системному администратору. Добавьте правильный ключ хоста в /home/bodhi/.ssh/known_hosts, чтобы избавиться от этого сообщения. Ключ оскорбления в /home/bodhi/.ssh/known_hosts:1

Смотрите: http://bodhizazen.com/Tutorials/SSH_overview#Security


1
Я удалил файл known_hosts. Я SSH в сервер. Я вижу предупреждение и позволяю ему добавить запись в known_hosts. Создает две записи.

Вставьте файл известные вам-hosts и сделайте снимок экрана или покажите свой вывод.
Пантера


Это может быть адрес IPv6?

Я не могу сказать из того, что вы мало что опубликовали.
Пантера
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.