Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
Осталось 10 мин
Безопасность и сети

Предупреждение: идентификатор удалённого хоста изменился. Как это исправить

Рекса Сайрус By Рекса Сайрус 10 мин чтения Обновлено 71 день назад
Окно терминала с предупреждением SSH об изменении идентификатора удалённого хоста, заголовок руководства по исправлению ошибки и брендинг Cloudzy на тёмно-бирюзовом фоне.

SSH — защищённый сетевой протокол, создающий зашифрованный туннель между системами. Он по-прежнему востребован среди разработчиков, которым нужен удалённый доступ к компьютерам без графического интерфейса. Несмотря на многолетнюю историю и надёжную работу, SSH не застрахован от определённых ошибок.

Многие из этих ошибок хорошо известны в сообществе SSH, а способы их устранения подробно задокументированы. К ним относятся: несовместимость с межсетевым экраном, проблемы с внедрением публичного ключа SSH, проблемы с режимом файлового ключа SSH, и ошибку «Warning: Remote Host Identification Has Changed».

Эта ошибка встречается на всех основных операционных системах, включая Windows, Linux и macOS. Причина может быть не просто техническим сбоем, а реальной угрозой безопасности. В этой статье мы разберём, почему это происходит, что это значит для безопасности вашего SSH-соединения и как устранить проблему на каждой из платформ.

Почему появляется предупреждение «Warning: Remote Host Identification Has Changed» — и стоит ли беспокоиться?

Предупреждение «Warning: Remote Host Identification Has Changed» возникает, когда публичный ключ SSH, сохранённый в файле known_hosts не совпадает с ключом, который сервер предъявляет сейчас. Это расхождение активирует встроенный механизм защиты SSH, предупреждающий о возможных угрозах.

Когда смена ключа хоста не является проблемой

Существует несколько безопасных причин, по которым ключ хоста сервера может измениться. В зависимости от типа ключа сообщение может выглядеть иначе, например «RSA host key has changed».

Инфографика: изменения на сервере, приводящие к смене ключей хоста SSH, — обновление ОС, пересборка сервера, восстановление из резервной копии, миграция с физического оборудования на виртуальное и сброс конфигурации SSH.
Изменения на стороне сервера:

  • Операционная система сервера была переустановлена или обновлена
  • Сервер был пересобран или восстановлен из резервной копии
  • Конфигурация SSH на сервере была сброшена
  • Физическая или виртуальная машина была заменена
  • Миграция сервера на новое оборудование

Изменения в сетевой конфигурации:

  • Облачные провайдеры со временем переназначают IP-адреса, либо подключение проходит через балансировщик нагрузки.
  • DHCP присвоил IP-адрес другой машине
  • IP-адрес выведенного из эксплуатации сервера был назначен новой системе
  • Записи DNS были обновлены и теперь указывают на другой сервер

Сетевая диаграмма: DHCP-сервер назначает динамические IP-адреса виртуальным машинам; вывод сервера из эксплуатации и повторное использование адреса приводят к конфликту ключей хоста SSH.

Управление ключами:

  • Системные администраторы вручную перегенерировали ключи хоста в целях безопасности
  • Серверное программное обеспечение SSH было переустановлено
  • Политика безопасности потребовала ротации ключей

Важно понимать, что смена пароля пользователя не влияет на ключи хоста. Это отдельные механизмы аутентификации. Ключи хоста меняются только при изменении самого сервера или его конфигурации SSH.

Когда стоит отнестись к предупреждению серьёзно

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

  • Вы не вносили изменений на сервере и не знаете о запланированных работах
  • Вы не можете выяснить причину смены ключа у администратора сервера
  • Сервер доступен через публичные сети или ненадёжные соединения
  • Вы подключаетесь к production-системам или серверам с конфиденциальными данными


Сравнение двух сценариев: законные изменения SSH выделены зелёным, потенциальные угрозы безопасности — красным. На иллюстрации изображена фигура в капюшоне, символизирующая атаку «человек посередине».
Атаки типа «человек посередине» случаются относительно редко, но всё же происходят. В ходе такой атаки злоумышленник встаёт между вашим компьютером и легитимным сервером и перехватывает весь трафик.

Человеческий фактор и социальная инженерия — причина 68% утечек данных, поэтому бдительность критически важна. Дополнительно защитить свои системы можно, изучив методы защиты от брутфорс-атак.

По данным IBM, средняя мировая стоимость утечки данных в 2025 году составила 4,44 млн долларов, а среднее время обнаружения — восемь месяцев. Именно поэтому в SSH существует механизм проверки ключей хоста и почему нельзя игнорировать эти предупреждения без предварительного расследования.

Как проверить, безопасно ли предупреждение

Прежде чем устранять проблему, выполните следующие шаги проверки:

Блок-схема с пятью методами проверки для подтверждения законности изменений ключей хоста SSH: консультация с командой, обращение к хостинг-провайдеру, использование защищённых каналов и сравнение отпечатков.

  1. Проверьте с коллегами: Если доступ к серверу разделён, спросите у коллег, не вносили ли они изменения
  2. Просмотрите логи сервера: Проверьте записи о техническом обслуживании или журнал изменений на предмет недавней активности
  3. Свяжитесь с хостинг-провайдером: Если используете облачные сервисы, уточните, проводились ли технические работы
  4. Используйте защищённый канал: По возможности подключитесь через заведомо защищённую сеть, чтобы проверить отпечаток
  5. Сравните отпечатки: Некоторые хостинг-провайдеры отображают актуальные отпечатки SSH в своих панелях управления

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

Если вы хотите избежать динамической переназначения IP или конфликтов host-ключей, выбор инфраструктуры имеет большое значение.

Cloudzy предоставляет Хостинг SSH VPS с выделенными статическими IP. Работает на процессорах AMD Ryzen 9 с хранилищем NVMe для мгновенного выполнения команд. Наша сеть достигает 40 Gbps в 12 точках присутствия по всему миру. Также в комплект входит бесплатная защита DDoS для безопасного соединения.

Как исправить ошибку «Remote Host Identification Has Changed»

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

Это можно сделать одной командой или вручную отредактировав файл.

Способ 1: командная строка (быстрее всего)

Этот способ подходит для macOS, Linux и Windows 10+ (с использованием OpenSSH). Это самый быстрый способ устранить ошибку. Подробнее можно прочитать на странице руководства ssh-keygen

  1. Откройте терминал.
  2. Выполните эту команду (замените hostname на IP-адрес или домен вашего сервера): 
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it.  Method 2: Manual File Editing (macOS)

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

Откройте терминал и отредактируйте файл с помощью Nano:

nano ~/.ssh/known_hosts

Найдите строку из сообщения об ошибке. Удалите её, затем нажмите Ctrl + X и Y для сохранения.

Окно терминала macOS с открытым текстовым редактором nano и файлом known_hosts: выделена строка для удаления, пронумерованные шаги и инструкции по сохранению файла.

Решение для Windows

Пользователи Windows обычно используют либо встроенный клиент OpenSSH, либо PuTTY.

Вариант 1: Windows OpenSSH (Windows 10/11)

В Windows 10 и 11 OpenSSH является опциональным компонентом. Добавьте его через Параметры > Приложения > Дополнительные компоненты. В Server 2025 клиент уже включён, но его нужно активировать вручную.

Если вы используете PowerShell или командную строку, то ssh-keygen Команда из метода 1 здесь тоже подходит.

Чтобы отредактировать файл вручную:

  1. Нажмите Windows Key + R.
  2. Тип %USERPROFILE%\.ssh и нажмите Enter.
  3. Откройте файл known_hosts файл с помощью Notepad.
  4. Удалите строку, вызывающую ошибку, и сохраните файл.

Подробнее об управлении ключами читайте в нашем руководстве по генерация ключей SSH в Windows.

Вариант 2: использование PuTTY

PuTTY хранит ключи в реестре Windows, а не в файле.

  1. Откройте редактор реестра (нажмите Windows Key + Rвведите regedit, и нажмите Enter).
  2. Перейдите по пути: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
  3. Найдите запись, соответствующую имени хоста или IP-адресу вашего сервера.
  4. Нажмите на него правой кнопкой мыши и выберите Удалить.

Команда PowerShell Windows удаляет ключ хоста SSH, в File Explorer открыт обновлённый файл known_hosts, а в Registry Editor PuTTY отображается диалог подтверждения удаления ключа хоста.

Решение для Linux

Параметр ssh-keygen команда, которую мы рассмотрели в Метод 1 является стандартным способом решить эту проблему в Linux. Он быстрый и поддерживается нативно.

Ручное редактирование

Если вы хотите видеть содержимое файла, можно отредактировать его в текстовом редакторе, например в Nano.

  1. Откройте терминал.
  2. Тип nano ~/.ssh/known_hosts и нажмите Enter.
  3. Найдите номер строки, указанный в сообщении об ошибке.
  4. Удалите строку, затем нажмите Ctrl + X и Y для сохранения.

Можно также использовать Vim (vim ~/.ssh/known_hosts), если вы знакомы с ним.

Терминал Linux с командами ssh-keygen для удаления ключей хоста SSH по имени хоста и IP-адресу, с подтверждением успешного выполнения и примерами файла known_hosts.
Об отключении проверок

Можно принудительно подключить SSH без проверки, но это рискованно: такой подход обходит защиту от атак типа «человек посередине».

Используйте этот способ только при локальном тестировании в доверенных сетях. Для macOS и Linux введите следующее:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]

Если вы используете Windows, путь Unix не сработает. Нужно указать NUL чтобы обход заработал:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]

Не применяйте эти параметры в публичных сетях или на рабочих серверах.

Исправление несовпадения ключей — стандартная задача обслуживания, но можно сделать соединение ещё надёжнее. Боты часто атакуют порт 22 по умолчанию методом перебора. Большую часть этого фонового шума можно устранить, изменив порты SSH в Linux на что-то менее предсказуемое.

Схема атаки «человек посередине» на SSH: злоумышленник перехватывает соединение клиент-сервер, сравниваются ключи атакующего и сервера, показаны кража данных и финансовые потери.

Никогда не применяйте этот метод на рабочих серверах или в ненадёжных сетях.

Как избежать сообщения «Remote Host Identification Has Changed» в будущем

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

Краткий справочник

Ваша роль Ключевые стратегии
Системные администраторы Делайте резервные копии ключей, документируйте изменения, используйте сертификаты и регулярно меняйте ключи
Обычные пользователи Ведите учёт, проверяйте через защищённые каналы и отслеживайте логи
Облачная среда 

Пользователи

Используйте имена DNS, инструменты провайдера и подход инфраструктуры как кода

Инфографика с лучшими практиками управления ключами SSH: использование сертификатов SSH, имён DNS, инфраструктуры как кода, резервное копирование ключей хоста, документирование изменений и применение bastion-хостов.

Для системных администраторов

Резервное копирование ключей хоста: Сохраните ключи из /etc/ssh/ перед переустановкой ОС. Восстановите их после — это избавит пользователей от предупреждений.

Документируйте плановые изменения: Предупреждайте пользователей перед сменой ключей и передавайте новые fingerprint по защищённому каналу. Это позволит им подтвердить подлинность соединения.

Используйте сертификаты SSH: В крупных командах стоит развернуть централизованный центр сертификации. Он подписывает ключи хостов и устраняет необходимость ручной проверки.

Настройте ротацию ключей: Планируйте смену ключей хоста по расписанию. Предсказуемые обновления проще воспринимаются командой, чем внезапные.

Для обычных пользователей

Ведите учёт: Храните личный список fingerprint серверов или пользуйтесь защищённой документацией команды.

Проверяйте через независимый канал: Сверяйте ключи с доверенным источником — например, с облачной консолью, а не через мессенджеры.

Мониторинг логов: Регулярно проверяйте локальные логи SSH на предмет подозрительных шаблонов подключений или повторяющихся ошибок.

Управление конфигурацией: Используйте конфигурационные файлы SSH для работы с динамическими средами разработки без снижения уровня безопасности.

Для динамических облачных сред

Используйте имена DNS: Подключайтесь по именам хостов, а не по IP-адресам. Это обеспечивает стабильность при смене базового адреса.

Облачные инструменты: Используйте консоли провайдера для получения актуальных отпечатков. Сверяйте ключи с этими инструментами перед принятием изменений.

Инфраструктура как код: Автоматизируйте проверку ключей с помощью таких инструментов, как Terraform. Для продвинутых конфигураций можно также использовать SOCKS5-прокси SSH.

Хосты-бастионы: Настройте промежуточные серверы со стабильными ключами. Они служат защищёнными точками входа в вашу динамическую инфраструктуру.

Заключение

Предупреждение «Warning: Remote Host Identification Has Changed» — это важная функция безопасности SSH, а не ошибка, которую можно игнорировать. Хотя оно нередко появляется по вполне законным причинам — например, при обслуживании сервера или изменении конфигурации — оно защищает вас от атак типа «человек посередине» и несанкционированного доступа.

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

Разобравшись в том, как работают ключи хостов SSH, и следуя лучшим практикам, вы сохраните и безопасность, и удобство при удалённой работе. О безопасной передаче файлов читайте здесь: копирование файлов через SSH.

 

Часто задаваемые вопросы

Стоит ли серьёзно воспринимать предупреждение «Warning: Remote Host Identification Has Changed»?

Да, воспринимайте его серьёзно. Оно означает, что идентификационные данные сервера изменились — это может указывать как на атаку «человек посередине», так и на плановое обслуживание. Всегда уточняйте причину у администратора или провайдера перед принятием нового ключа.

Что вызывает предупреждение «Warning: Remote Host Identification Has Changed»?

Предупреждение появляется, когда текущий отпечаток сервера не совпадает с записанным в файле known_hosts. Типичные причины: переустановка ОС, смена IP-адреса или сброс конфигурации SSH. В редких случаях это признак активной атаки «человек посередине».

Может ли эта ошибка возникать на разных операционных системах?

Да, это предупреждение касается всех операционных систем, использующих SSH, включая Windows, macOS и Linux. Оно обусловлено механизмом проверки безопасности протокола SSH. Способы устранения различаются в зависимости от платформы, однако сам триггер безопасности одинаков на всех системах.

Как понять, законна ли смена ключа хоста или это атака?

Для проверки убедитесь, проводилось ли недавно обслуживание, обновление ОС или смена IP-адреса. Обязательно сверьте новый отпечаток с надёжным источником — например, с консолью облачного провайдера или подтверждением от системного администратора — и только после этого устанавливайте соединение.

Отключение проверки ключей хоста в SSH: удобство или риск?

Это упрощает работу, но убирает защиту. Без проверки ключей соединение становится уязвимым для атак типа «человек посередине». Отключайте эту проверку только в изолированных тестовых окружениях — никогда на продакшн-серверах и не в сетях, где передаются чувствительные данные.

Как часто нужно менять ключи хоста в SSH?

Ключи хоста не требуют регулярной смены. Обновлять их стоит только после пересборки сервера, переустановки ОС или компрометации системы. Частая смена создаёт неудобства для пользователей, поэтому при необходимости обновления делайте это продуманно и заранее предупреждайте об изменениях.

Поделиться

Другие статьи блога

Читать дальше.

Обложка руководства Cloudzy по настройке MikroTik L2TP VPN: ноутбук подключается к серверной стойке через светящийся сине-золотой цифровой туннель с иконками щитов.
Безопасность и сети

Настройка MikroTik L2TP VPN (с IPsec): руководство по RouterOS (2026)

В этой конфигурации MikroTik L2TP VPN протокол L2TP отвечает за туннелирование, а IPsec — за шифрование и целостность данных. Их совместное использование даёт совместимость с нативными клиентами без сторонних реш

Рекса СайрусРекса Сайрус 9 мин. чтения
Иллюстрация к руководству по устранению неполадок сервера DNS: предупредительные символы и синий сервер на тёмном фоне, тема — ошибки разрешения имён Linux
Безопасность и сети

Временная ошибка разрешения имён: что это значит и как её исправить?

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

Рекса СайрусРекса Сайрус 12 мин чтения
Как привязать домен к VPS: краткое руководство
Безопасность и сети

Как привязать домен к VPS: краткое руководство

Привязка домена к виртуальному частному серверу необходима для размещения сайтов и приложений. В этом руководстве рассмотрено всё, что нужно знать о подключении домена к вашему

Рекса СайрусРекса Сайрус 16 мин. чтения

Готовы к деплою? От $2.48/мес.

Независимый облачный провайдер с 2008 года. AMD EPYC, NVMe, 40 Gbps. Возврат средств в течение 14 дней.