Сообщение 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 позволяет вернуть запись при ошибке адреса, но не подтверждает, что старый сервер до сих пор правильный.