Сообщение REMOTE HOST IDENTIFICATION HAS CHANGED означает, что ключ сервера не совпал с сохранённым на вашем компьютере. Такое бывает после переустановки VPS, но также при подключении не к тому узлу. Удалять предупреждение до проверки нельзя.

1. Остановитесь и уточните причину

Не вводите пароль и не добавляйте StrictHostKeyChecking=no. Проверьте адрес назначения, DNS-запись, порт и недавние работы. Переустановка сервера ожидаемо меняет ключи; обычная смена пароля пользователя — нет.

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

2. Получите fingerprint через независимую консоль

Откройте серверную консоль в доверенной панели провайдера. На самом VPS выведите отпечаток публичного host key, соответствующего алгоритму в предупреждении. Для Ed25519:

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

Сравните всю строку SHA256 с новым fingerprint в сообщении клиента. Если предупреждение относится к RSA или ECDSA, проверяйте соответствующий публичный файл. Не копируйте приватные файлы ssh_host_*_key и не отправляйте их в поддержку.

3. Удалите только подтверждённую старую запись

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

ssh-keygen -F 203.0.113.10

Сохраните копию файла known_hosts, путь к которому указан в предупреждении. Если новая идентичность подтверждена, удалите запись именно этого адреса:

ssh-keygen -R 203.0.113.10

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

ssh-keygen -R "[server.example.com]:2222"

При использовании отдельного файла добавьте -f с его фактическим путём. Не удаляйте весь known_hosts: это снимет ранее сохранённую проверку для остальных серверов.

4. Подключитесь заново

ssh -p 2222 adminuser@server.example.com

Клиент предложит принять новый ключ. Ещё раз сравните fingerprint с полученным через консоль и только затем подтвердите. Успешный вход без предупреждения при следующем подключении означает, что новая запись сохранена.

Если ошибка возвращается

Проверьте, не ведёт ли домен на разные серверы с разными host keys, не меняется ли IP и нет ли собственного UserKnownHostsFile в конфигурации клиента. Для кластера требуется продуманная схема идентификации узлов, а не массовое отключение проверки. Резервная копия known_hosts позволяет вернуть запись при ошибке адреса, но не подтверждает, что старый сервер до сих пор правильный.

Связанные инструкции

Официальные источники