SSH Linux (OpenSSH)

SSH в Linux: SSH: no matching host key type found при подключении к старому серверу

  • Обновлено
  • Чтение ≈ 2 минуты

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

Сообщение no matching host key type found возникает при несовпадении поддерживаемых алгоритмов ключа хоста клиента и старого SSH-сервера. Не следует глобально включать устаревшие алгоритмы из-за одного устройства.

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

#Что происходит и когда это важно

В тексте ошибки обычно указано Their offer: ssh-rsa или другой алгоритм. Это отличается от отказа в аутентификации пользователя: согласование ключа сервера происходит раньше.

#Возможные причины и как их отличить

Возможная причинаКак узнатьЧто делать
Сервер предлагает только старый типКлиент OpenSSH больше не принимает этот алгоритм по умолчанию.В сообщении перечислен только ssh-rsa или ssh-dss.Планировать обновление сервера и безопасных host key.
Клиент и сервер используют разные политикиНа управляемом устройстве администратор отключил часть алгоритмов.Проблема лишь в одной сети/у одного клиента.Сверить политику без её обхода.
Неверное устройство по адресуПод названием сервера отвечает старая машина/посредник.Адрес отличается от инвентаризации.Проверить DNS и отпечаток ключа.

#Пошаговая диагностика и исправление

  1. Запишите предложение сервераЗапустите обычное подключение на клиенте Linux: ssh пользователь@сервер. Запишите дословно строку Their offer. Если адрес неизвестен или изменился, сначала уточните владельца сервера.
  2. Проверьте версию и поддерживаемые алгоритмы клиентаВ терминале выполните ssh -V (версия выводится в stderr) и ssh -Q key, чтобы увидеть, какие типы ключей понимает установленный клиент. Наличие в списке не означает, что их безопасно включить для подключения.
  3. Попросите обновить серверЧерез консоль администратора проверьте версию SSH-сервера и наличие современных ключей хоста, например Ed25519 либо RSA с SHA-2 подписями, если они поддерживаются. Лучшее исправление — обновить OpenSSH/прошивку по официальному каналу, а не ослаблять клиента.
  4. Уточните, является ли сервер действительно довереннымСверьте адрес, владельца и отпечаток ключа через независимый канал. При сомнительном устройстве остановите попытки. Несовпадение алгоритма нельзя считать доказательством безопасности.
  5. Временную совместимость рассматривайте только в ограниченной средеТолько если устройство неизбежно и владелец подтверждён, администратор может разрешить один необходимый алгоритм для единственного алиаса Host в пользовательском ~/.ssh/config согласно документации OpenSSH. Не добавляйте HostKeyAlgorithms +ssh-rsa в глобальную конфигурацию; алгоритм ssh-dss не должен включаться как стандартный обход.
  6. Проверьте завершение миграцииПосле обновления сервера повторите обычный ssh без временных ослаблений и сравните отпечаток ключа. Удалите исключение из ~/.ssh/config; если ошибка возникает снова, соберите версию ПО и доступные host key для администратора.

#Команды из инструкции с пояснениями

Linux · Терминал (Bash)Команда
Версия OpenSSH клиента; stderr — нормальное место вывода.
ssh -V
Linux · Терминал (Bash)Команда
Алгоритмы ключей, известные клиенту.
ssh -Q key

#Как проверить результат

Подключение согласует современный алгоритм и проверенный host key без ослабления глобальной конфигурации клиента.

#Если проблема не устранена

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

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

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