SSH Linux с установленным клиентом/сервером OpenSSH; настройки зависят от дистрибутива

После переноса сервера SSH предупреждает о смене ключа хоста

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

После переноса виртуальной машины, смены IP или переустановки сервера клиент SSH замечает иной ключ хоста. Надо отличить ожидаемую замену сервера от перехвата соединения и только потом менять запись known_hosts.

В этой статье
  1. Как распознать проблему и когда применять инструкции
  2. Причины и признаки
  3. Подробная проверка и безопасное решение
  4. Как проверить результат и что делать, если не помогло

#Как распознать проблему и когда применять инструкции

После переноса виртуальной машины, смены IP или переустановки сервера клиент SSH замечает иной ключ хоста. Надо отличить ожидаемую замену сервера от перехвата соединения и только потом менять запись known_hosts. Уточните модель/сборку системы, наличие резервной копии и способ восстановить доступ, прежде чем применять действия.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Пересоздана системаПри переустановке создан новый ключ /etc/ssh/ssh_host_*_keyУ администратора есть новая проверенная отпечаткаСмотрите соответствующий диагностический шаг ниже: проверяйте именно этот признак перед изменением настроек.
Домен указывает не тудаЗапись DNS уже новая или используется чужой IPРазные адреса для имени и IPСмотрите соответствующий диагностический шаг ниже: проверяйте именно этот признак перед изменением настроек.
Вмешательство в соединениеИзменение ключа ничем не подтвержденоНельзя доверять новому ключу до сверкиСмотрите соответствующий диагностический шаг ниже: проверяйте именно этот признак перед изменением настроек.

#Подробная проверка и безопасное решение

  1. Шаг 1. Остановитесь на предупреждении и зафиксируйте адресПри сообщении REMOTE HOST IDENTIFICATION HAS CHANGED не вводите пароль и не добавляйте ключ автоматически. Запишите имя, порт, старый и предложенный отпечатки. Если перенос не согласован, обратитесь к владельцу инфраструктуры.
  1. Шаг 2. Выясните, куда идёт SSH-подключениеНа своём компьютере откройте терминал. Команда показывает итоговый HostName/Port из конфигурации; для псевдонима настройки могут отличаться от прямого адреса. Проверьте адрес сервера в панели хостера.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Откройте терминал той машины, которая названа в шаге; команда содержит примерные имена/пути. Подставьте свои значения, сравните вывод с ожидаемым результатом и при ошибке выясните причину прежде, чем продолжать.
    ssh -G server.example.org | grep -E '^(hostname|port|user) '
  1. Шаг 3. Сверьте новый ключ через независимую доверенную консольОткройте консоль сервера через панель провайдера, а не заблокированный SSH. На сервере посмотрите отпечаток публичного ключа ED25519. Сравните именно SHA256-отпечаток с показанным клиентом, учитывая алгоритм. Если такой ключ отсутствует, проверяйте реально существующий публичный ключ.
  2. Выполняется в терминале сервера с правами администратора; требуется разрешение владельца
    Linux · Терминал (Bash)КомандаНужен sudo
    Выполняется в терминале сервера с правами администратора; требуется разрешение владельца. Уточните фактические адреса и имена, прочитайте вывод и не выполняйте действия, если среда отличается от описанной.
    sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
  1. Шаг 4. Создайте резервную копию старого спискаНа компьютере, с которого подключаетесь, скопируйте known_hosts, чтобы можно было вернуть предыдущую запись. Наличие хешированных имён нормально: редактирование вручную часто неудобно.
  2. Если файла нет, сначала проверьте ls -l ~/.ssh и пропустите копирование
    Linux · Терминал (Bash)Команда
    Если файла нет, сначала проверьте ls -l ~/.ssh и пропустите копирование.
    cp ~/.ssh/known_hosts ~/.ssh/known_hosts.before-server-move
  1. Шаг 5. Удалите только подтверждённую старую записьТолько если отпечаток получен из независимой доверенной консоли, удалите запись для конкретного имени. Для нестандартного порта используйте форму [host]:port. Команда не удаляет закрытые ключи.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Откройте терминал той машины, которая названа в шаге; команда содержит примерные имена/пути. Подставьте свои значения, сравните вывод с ожидаемым результатом и при ошибке выясните причину прежде, чем продолжать.
    ssh-keygen -R server.example.org
  1. Шаг 6. Подключитесь повторно и проверьте отпечатокВведите команду со своим именем и адресом. При новом запросе подтверждения сверяйте SHA256-отпечаток с доверенной консолью. Согласны — подтвердите сохранение ключа; не совпадает — прервите соединение.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Откройте терминал той машины, которая названа в шаге; команда содержит примерные имена/пути. Подставьте свои значения, сравните вывод с ожидаемым результатом и при ошибке выясните причину прежде, чем продолжать.
    ssh -o StrictHostKeyChecking=ask user@server.example.org
  1. Шаг 7. Убедитесь, что вход работает и предупреждение не возвращаетсяОткройте вторую SSH-сессию и проверьте имя хоста после входа; первоначальный доступ не закрывайте до проверки. Если предупреждение повторяется, выясните балансировщик, несколько адресов или смену ключа при каждой загрузке.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Откройте терминал той машины, которая названа в шаге; команда содержит примерные имена/пути. Подставьте свои значения, сравните вывод с ожидаемым результатом и при ошибке выясните причину прежде, чем продолжать.
    hostnamectl --static

#Как проверить результат и что делать, если не помогло

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.