#Что означает ошибка
kex_exchange_identification
Сервер разрывает соединение до обмена ключами: лимит MaxStartups, fail2ban или блокировка по IP. Проверьте журналы sshd.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| MaxStartups | В случае «SSH: kex_exchange_identification: Connection closed by remote host» проверьте наличие причины «MaxStartups» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Увеличьте. Конкретное действие зависит от проверки причины «MaxStartups», описанной в пошаговой инструкции. |
| fail2ban | В случае «SSH: kex_exchange_identification: Connection closed by remote host» проверьте наличие причины «fail2ban» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Снимите |
| TCP wrappers | В случае «SSH: kex_exchange_identification: Connection closed by remote host» проверьте наличие причины «TCP wrappers» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Разрешите. Конкретное действие зависит от проверки причины «TCP wrappers», описанной в пошаговой инструкции. |
| Перегрузка | В случае «SSH: kex_exchange_identification: Connection closed by remote host» проверьте наличие причины «Перегрузка» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Ограничьте |
#Пошаговое решение
- Определите причинуЗапустите на клиентском компьютере
ssh -vvv пользователь@хости сохраните строки доkex_exchange_identification: Connection closed by remote host. Проверьте адрес и порт, затемnc -vz хост 22либо WindowsTest-NetConnection; проблема возникает до обычной проверки пароля и может быть связана с фильтрацией сети. - Выполните подходящее исправлениеЕсли есть консоль сервера, проверьте
systemctl status ssh/sshdиsudo journalctl -u ssh -n 100 --no-pagerс действительным именем службы. ИщитеMaxStartups, лимит подключений, блокировку IP, fail2ban или ошибки запуска демона. Не снижайте защиту SSH глобально по одному неудачному соединению. - Проверьте другие возможные причиныС другой доверенной сети проверьте доступность того же хоста и порта; если лишь один IP заблокирован, найдите его в правилах межсетевого экрана и fail2ban и снимите блокировку только после подтверждения владельца. При перегрузке проверьте число предварительных SSH-соединений и сетевые ошибки.
- Убедитесь в результатеПосле исправления повторите
ssh -vvvи убедитесь, что соединение проходит обмен ключами и переходит к аутентификации. Если теперь появляетсяPermission denied, это уже другая ошибка, которую нужно разбирать отдельно, а не менятьMaxStartups.
#Если проблема осталась
Если «SSH: kex_exchange_identification: Connection closed by remote host» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.