Вопрос или проблема
В то время как я пытался получить доступ к своей виртуальной машине Ubuntu, я сталкиваюсь с периодической проблемой подключения ssh
. Обратите внимание, что это периодическая проблема. Я проверил файлы /etc/hosts
, hosts.allow
, hosts.deny
в соответствии с доступными постами, связанными с этой проблемой, но не нашел никаких неправильных записей в этих конфигурационных файлах. Пожалуйста, найдите отладочный вывод ниже
Вывод при возникновении проблемы
OpenSSH_7.2p2 Ubuntu-4ubuntu2.6, OpenSSL 1.0.2g 1 Мар 2016
debug1: Чтение данных конфигурации /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 19: Применение параметров для *
debug2: разрешение "10.10.50.26" порт 22
debug2: ssh_connect_direct: needpriv 0
debug1: Подключение к 10.10.50.26 [10.10.50.26] порт 22.
debug1: Установлено соединение.
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентичности pem.pem тип -1
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентичности pem.pem-cert тип -1
debug1: Включение совместимого режима для протокола 2.0
debug1: Локальная строка версии SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.6
ssh_exchange_identification: read: Соединение сброшено пировым
Вывод, когда это работает
OpenSSH_7.2p2 Ubuntu-4ubuntu2.6, OpenSSL 1.0.2g 1 Мар 2016
debug1: Чтение данных конфигурации /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 19: Применение параметров для *
debug2: разрешение "10.10.50.26" порт 22
debug2: ssh_connect_direct: needpriv 0
debug1: Подключение к 10.10.50.26 [10.10.50.26] порт 22.
debug1: Установлено соединение.
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентичности pem.pem тип -1
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентичности pem.pem-cert тип -1
debug1: Включение совместимого режима для протокола 2.0
debug1: Локальная строка версии SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.6
debug1: Удаленная версия протокола 2.0, удалённая версия программного обеспечения OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
debug1: совпадение: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 паттерн OpenSSH_6.6.1* совместимость 0x04000000
debug2: fd 3 установка O_NONBLOCK
debug1: Аутентификация на 10.10.50.26:22 как 'ubuntu'
debug3: hostkeys_foreach: чтение файла "/home/ubuntu/.ssh/known_hosts"
debug3: отправка пакета: тип 20
debug1: SSH2_MSG_KEXINIT отправлено
debug3: получение пакета: тип 20
debug1: SSH2_MSG_KEXINIT получено
debug2: предложение локального клиента KEXINIT
Не могли бы вы помочь решить эту проблему? Спасибо заранее
Похожий вопрос задавался здесь: https://superuser.com/questions/856989/ssh-error-ssh-exchange-identification-read-connection-reset-by-peer.
кратко: Проверьте свой брандмауэр и убедитесь, что вас не блокируют.
Недавно я столкнулся с этой проблемой. Позже я выяснил, что мой брандмауэр воспринимал трафик как атаку грубой силы ssh и блокировал его. После добавления правила брандмауэра проблема была решена.
Примечание:
- Мой трафик ssh поступал от Jenkins. Брандмауэр считал весь трафик ssh с этого сервера атакой грубой силы ssh и начал блокировать запросы.
- Эта проблема возникла, когда наш локальный сервер Jenkins начал взаимодействовать с нашим новым облачным сервером управления исходным кодом.
Ответ или решение
Ошибка SSH: ssh_exchange_identification: read: Connection reset by peer
При подключении к вашему серверу Ubuntu 14.04.5 с использованием SSH вы сталкиваетесь с периодической ошибкой: ssh_exchange_identification: read: Connection reset by peer
. Это может вызывать множество неудобств, особенно если проблема происходит нерегулярно. Рассмотрим основные причины и возможные решения данной проблемы.
Описание проблемы
Вы предоставили детальный вывод отладки SSH как в случае возникновения проблемы, так и в случае успешного подключения. Основное внимание следует уделить ошибке ssh_exchange_identification: read: Connection reset by peer
, которая возникает на этапе обмена идентификацией.
Пример вывода при ошибке
debug1: Connection established.
ssh_exchange_identification: read: Connection reset by peer
Это указывает на то, что соединение с сервером успешно установлено, но затем сервер неожиданно разрывает его.
Анализ возможных причин
-
Настройки файрвола:
- Ваша проблема может быть вызвана блокировкой запросов SSH со стороны файрвола или системы обнаружения вторжений. В случае, если слишком много неудачных попыток подключения происходят в короткий промежуток времени, это может заставить защитные механизмы системы заблокировать ваш IP-адрес.
Решение: Проверьте настройки вашего файрвола (например,
iptables
илиufw
) и лог файлы, чтобы узнать, не было ли блокировки IP-адреса. При необходимости добавьте правила, разрешающие SSH-трафик. -
Проблемы с конфигурацией SSH:
- Убедитесь, что конфигурация SSH сервера (в файле
/etc/ssh/sshd_config
) корректна. Некорректные записи могут приводить к сбоям в обмене идентификацией.
Решение: Проверьте и обновите файл конфигурации, если это необходимо. Перезапустите SSH-сервер командой:
sudo service ssh restart
- Убедитесь, что конфигурация SSH сервера (в файле
-
Системные ресурсы:
- Периодическое недоступность SSH может быть результатом нехватки системных ресурсов (CPU, RAM). Если сервер сильно загружен, он может не справляться с новыми соединениями.
Решение: Используйте команду
top
илиhtop
, чтобы проверить загрузку сервера и выявить процессы, которые потребляют слишком много ресурсов. -
Проблемы с сетью:
- Сетевые проблемы, такие как нестабильное интернет-соединение или перебои в работе маршрутизатора, также могут приводить к разрыву соединения.
Решение: Проверьте ваше интернет-соединение и оборудование, отвечающее за маршрутизацию.
Заключение
Если вы столкнулись с ошибкой ssh_exchange_identification: read: Connection reset by peer
, необходимо решить проблему комплексно. Проверьте настройки файрвола, конфигурацию SSH, системные ресурсы и сетевое окружение. Если вы примените предложенные шаги, скорее всего, сможете устранить возникшую проблему и восстановить стабильное соединение SSH с вашим сервером.