SystemdDoctor
мешает работе sshd доступ

Host key verification failed при подключении к серверу

Клиент запоминает ключ сервера при первом подключении. Если ключ изменился, клиент отказывается соединяться: так выглядит и переустановка системы, и подмена сервера. Различить помогает отпечаток ключа.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Сервер переустановлен, ключи созданы заново

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

  2. Адрес указывает на другой сервер

    Смена адресации, перенос имени, балансировщик перед несколькими машинами — во всех случаях ключ будет другим.

  3. Ключи восстановлены из копии не полностью

    Если восстановили только часть ключей, сервер предъявляет другой алгоритм, и отпечаток не совпадает с ожидаемым.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Отпечаток ключа сервера для сверки.

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Записанный у клиента ключ для этого узла.

ssh-keygen -F имя-сервера

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Сервер переустановлен, ключи созданы заново
Почему происходит
При установке системы генерируются новые ключи хоста. Прежний отпечаток в списке известных узлов больше не совпадает.
Как проверить
Сверьте отпечаток на самом сервере.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Как исправить
Сверив отпечаток любым надёжным способом, удалите старую запись у клиента и подключитесь заново.
ssh-keygen -R имя-или-адрес-сервера
2. Адрес указывает на другой сервер
Почему происходит
Смена адресации, перенос имени, балансировщик перед несколькими машинами — во всех случаях ключ будет другим.
Как проверить
Посмотрите, куда ведёт имя.
getent hosts имя-сервера
ssh-keygen -F имя-сервера
Как исправить
Уточните, к какой машине вы подключаетесь. Для нескольких машин за одним именем настройте общий ключ хоста или отдельные имена.
3. Ключи восстановлены из копии не полностью
Почему происходит
Если восстановили только часть ключей, сервер предъявляет другой алгоритм, и отпечаток не совпадает с ожидаемым.
Как проверить
Посмотрите набор ключей на сервере.
sudo ls -l /etc/ssh/ssh_host_*
Как исправить
Восстановите все файлы ключей хоста из копии или сгенерируйте заново, разослав новый отпечаток тем, кто подключается.

Пример вывода

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

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Host key verification failed.

Связанные ошибки

Где встречается чаще всего

Источники

  • Документация OpenSSH: ключи хоста документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено пересозданием ключей хоста на тестовой машине.
    собственная проверка, systemd 255
    сверено 15 сентября 2026