Ошибка REMOTE HOST IDENTIFICATION HAS CHANGED в SSH

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

31 октября 2026 г.·1 мин чтения·ssh, known_hosts

Вы переустановили ОС или получили сервер с IP, который раньше был у другого, подключаетесь — и вместо приглашения получаете:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
...
Host key verification failed.

Что произошло

При первом подключении SSH запоминает отпечаток ключа сервера в ~/.ssh/known_hosts. Каждый следующий раз он сверяет: тот ли сервер отвечает по этому адресу. Ключ сервера генерируется при установке ОС, поэтому после переустановки он новый, и отпечаток не совпадает. SSH не может отличить переустановку от подмены сервера посередине и честно отказывается.

Как исправить

Если вы точно знаете причину (переустановили ОС, пересоздали сервер, адрес достался от другой машины) — удалите старый отпечаток и подключитесь заново:

ssh-keygen -R IP_СЕРВЕРА
ssh root@IP_СЕРВЕРА

Если подключаетесь по имени, выполните ssh-keygen -R и для имени, и для IP. Если SSH на нестандартном порту: ssh-keygen -R '[IP_СЕРВЕРА]:2222'.

На Windows в PowerShell команда та же. В PuTTY при подключении появится окно с предложением обновить ключ — нажмите «Да». В Termius — удалить известный хост в настройках.

Когда нельзя просто удалить

Если вы ничего не переустанавливали, а предупреждение появилось — остановитесь. Возможные причины:

  • кто-то действительно перехватывает соединение (редко, но именно от этого защита);
  • сервер скомпрометирован и ключи перевыпущены;
  • вы подключаетесь не туда: опечатка в IP, старая запись в ~/.ssh/config, VPN направил трафик иначе.

Сверьте отпечаток с настоящим. Откройте консоль сервера в кабинете tanaka.host и выполните на сервере:

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

Сравните с отпечатком из предупреждения (строка ED25519 key fingerprint is SHA256:...). Совпадает — подключайтесь. Не совпадает — не вводите пароль, разбирайтесь.

Не отключайте проверку

В интернете советуют StrictHostKeyChecking no или удалить known_hosts целиком. Не делайте так: вы отключите единственную защиту SSH от подмены сервера. ssh-keygen -R для одного адреса — правильный и достаточный способ.