Исправлено: ssh_exchange_identification «соединение закрыто удаленным хостом»



Попробуйте наш инструмент устранения неполадок

Хотя во многих случаях ошибка ssh_exchange_identification: Connection closed by remote host может быть вызвана проблемами, связанными с файлами конфигурации hosts.deny и hosts.allow, есть и другие причины, которые могут вызвать проблему. Если вы читаете это, то, скорее всего, вы уже проверили, что оба эти файла не блокируют ваш IP-адрес от попыток использовать ssh на удаленном сервере.



Предполагая, что это так, вы можете столкнуться с проблемой зависимости, что-то, связанное с фрагментацией памяти или даже чрезмерное количество сеансов, исходящих от отдельных клиентов. Хорошая новость заключается в том, что как только вы решите проблему, вы больше не увидите ошибку.



Метод 1: исправление отсутствующих зависимостей

Если вы получили сообщение ssh_exchange_identification: соединение закрыто из-за ошибки удаленного хоста только после обновления OpenSSL или glibc, возможно, вы столкнулись с отсутствующей зависимостью. Бежать sudo lsof -n | grep ssh | grep DEL из командной строки в этой ситуации. Это даст вам список открытых файлов, а затем ищите только те, которые были недавно удалены, связанные с демоном ssh.



Если вы ничего не получите обратно, вы все равно можете попробовать перезапустить демон или саму систему. Вы захотите перезапустить попытку, если ряд ошибок действительно был возвращен вам, хотя вы можете спокойно игнорировать те, которые связаны с сообщениями / run / user / 1000 / gvfs, поскольку они вызваны несвязанной проблемой, которая должна делать с виртуальной файловой системой.

Вы также можете попытаться использовать apt-get, pacman или yum для обновления своих пакетов, если подозреваете, что есть проблемы с зависимостями. Если вы работаете в системе на основе Debian или Ubuntu, возможно, вы захотите попробовать sudo apt-get -f upgrade и посмотрите, исправит ли это какие-либо сломанные пакеты, с которыми вы могли столкнуться.



Метод 2: исправление фрагментации памяти

Если это не помогло, возможно, проблема связана с принимающей стороной в уравнении. Хосты, работающие внутри виртуальной машины, не всегда имеют раздел подкачки, что может привести к фрагментации памяти. Получите доступ к хосту каким-либо другим способом, возможно, физически, если это возможно, а затем перезапустите все службы, у которых возникли проблемы. MySQL, Apache, nginx и другие подобные сервисы могут быть виноваты.

Хотя не всегда возможно перезагрузить хост, это может решить проблему и может быть хорошей идеей, если вы попеременно отображали это сообщение об ошибке и сообщение, возвращающее IP-адрес. Имейте в виду, что если у вас есть какой-либо доступ к серверу, вы можете запустить vmstat -s и получите важную статистику использования памяти даже обычным пользователем во многих случаях.

Метод 3: проверьте наличие дополнительных экземпляров ssh

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

Это может произойти, если sshd не успевает за скриптом, который запускает много разных сеансов ssh в цикле. Если это когда-либо случалось с вами, добавьте сон 0,3 в цикл, чтобы демон sshd успел поспеть.

Метод 4: Найдите предел подключения sshd

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

Попробуйте бежать на сервере, чтобы узнать, сколько соединений может обработать sshd. В большинстве случаев система должна по умолчанию использовать 10 одновременных подключений, которых должно быть достаточно для большинства серверных структур, которые большинству пользователей, вероятно, потребуется регулярно использовать ssh.

3 минуты на чтение