LINUX.ORG.RU
решено ФорумAdmin

SSH Отпечаток SHA256

 , ,


0

2

Не заходил на сервер около 5 дней, после чего зашёл по SSH, а он мне пишет The authenticity of host can’t be established. Key fingerprint is SHA 256:…….. This key is not known by any other names. Are you sure you want to continue connecting? При этом ни переустановка ни прочее с сервером не происходила, что это может быть?


Ответ на: комментарий от prvdk

Почему отпечаток хоста сменился?

а ключ сменился?

для начала проверить время изменения /etc/ssh/ssh_host_* на сервере.
Потом проверить когда изменялись конфиги и/или обновлялось ssh на сервере и клиенте.
Выглядит как смена конфигурации по умолчанию

xgatron
()
Ответ на: комментарий от xgatron
  1. все ssh_host файлы в директории /etc/ssh/ от 10 числа и не изменялись
  2. /etc/ssh/ssh_config также не изменялся, дата изменений 9.10.2024, как на клиенте посмотреть я не знаю
  3. что за смена конфигурации по умолчанию? Как ещё можно проверить сервер? У меня на руках открытый и закрытый ключ, что можно проверить на одинаковость на сервере и у меня на локальной машине? Чтобы убедится что всё одинаково, что у меня на локальной машине, что на сервере
prvdk
() автор топика
Ответ на: комментарий от prvdk

Кстати, тогда что означает WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY И ниже пишет It is also possible that a host key has just been changed.

Из за чего это сообщение впринципе появляется?

У меня было просто The authenticity of host can’t be established. Key fingerprint is SHA 256:…….. This key is not known by any other names. Are you sure you want to continue connecting?

В чём разница?

prvdk
() автор топика
Ответ на: комментарий от prvdk

все ssh_host файлы в директории /etc/ssh/ от 10 числа и не изменялись

в смысле это дата установки? Или может это первая попытка подключиться после 10 числа?
Это вообще железный сервер или виртуалка? GCP, к примеру, при некоторых условиях может принудительно перегенеривать ключи.

что за смена конфигурации по умолчанию?

клиент и сервер договариваются какие настройки они будут использовать при установке соединения. Кроме всего прочего там есть список алгоритмов, который будет использоваться при проверке отпечатков. Эти списки задаются как через конфиги, так и прописаны в ssh севрер/клиент (настройки по умолчанию). Если сервер и/или клиент обновлялись, то они могли договориться использовать новый алгоритм, т.к. в новой версии он считается лучшим, например.

У меня на руках открытый и закрытый ключ

у вас на руках отпечаток ключа сервера, вам надо сгенерировать новый руками и сравнить. На вскидку я помню только ssh-keyscan.
Еще можно подключаться к серверу с опцией -vvv и посмотреть, что предлагает клиент и что сервер или попробовать явно указать клиенту HostKeyAlgorithms

Из за чего это сообщение впринципе появляется?

из-за того, что у сервера сменился отпечаток ключа (из тех, что в /etc/ssh)

В чём разница?

в том, что в первом случае хост известный (отпечаток был сохранен), но в данный момент отпечаток отличается от сохраненного, а во втором — это просто неизвестный хост

xgatron
()
Последнее исправление: xgatron (всего исправлений: 1)
Ответ на: комментарий от xgatron

Это vps на хостинге, дата установки и генерации ключей на локальной машине 10.10.2024, странно что ssh_config от 9 числа. Но в любом случае это же не факт компрометации сервера, это просто что-то обновилось?

prvdk
() автор топика
Ответ на: комментарий от prvdk

Первое это когда на сервере что-то сменилось (возможно тебя пытаются взломать). Второе - когда клиент не помнит что это вообще за сервер, видит его первый раз и спрашивает тебя подтверждаешь ли ты что хеш правильный.

Так что изменения ищи на клиенте - либо ты раньше под этим именем с этого юзера на сервер не заходил, либо у тебя побилось known_hosts почему-то.

firkax ★★★★★
()
Ответ на: комментарий от xgatron

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

не, все же договариваются, но выразился неправильно. И там вроде не про хэширование
в смысле от выбора HostKeyAlgorithms и прочего будет зависеть какой ключ будет использован для общения с клиентом: rsa/ecdsa/ed25519 или может dsa завалялся

xgatron
()
Ответ на: комментарий от prvdk

дата установки и генерации ключей на локальной машине 10.10.2024

я запутался

все ssh_host файлы в директории /etc/ssh/ от 10 числа и не изменялись

вот это было про сервер или про «локальную машину», если про локальную, то все-таки интересно, что на сервере

xgatron
()
Ответ на: комментарий от xgatron

Если тот же хост вдруг сменит алгоритм ключа - должна быть та же надпись про «кажется вас хотят взломать». Хотя я не проверял, но было бы очень странно и дыряво если была бы не она. Та надпись что у автора может быть только в одном случае: в known_hosts нужного хоста вообще нет ни в каком виде.

firkax ★★★★★
()
Ответ на: комментарий от xgatron

префикс ssh_host_ говорит что это ключи используемых sshd сервером на «хосте» для начальной организации шифроканала.
их пачка генерится при первой установке, глянул в пакет
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ed25519_key

при этом ключ авторизации пользователя лежит в /home/$USER/.ssh/id_%тип шифра% и может совсем другой системы…

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от prvdk

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

вообще если такое окошко вылезает это ничего не говорит что сервер вскрывали. просто что то изменилось :)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)