Как исправить ошибку “Подключение не удалось с ошибкой: Не удалось отправить баннер …..” для ssh?

Вопрос или проблема

В случаях, когда удаленное устройство находится за VPN или в локальной сети, появляется следующая ошибка:

Подключение не удалось с ошибкой: "Не удалось отправить баннер на ....@..........:22"

Эта ошибка появляется нечасто и связана с тем, что соединение сбрасывается перед закрытием TCP-соединения (я наблюдал это через приложение Termius [Microsoft Store] для ssh, и сообщение об ошибке имело предупреждение перед тем, как упоминалось о проблемах TCP-соединения при закрытии; хотя эта ошибка не ограничивается Termius).

Как это исправить?

Я нашел решение, которое сработало для меня. Поскольку этот вопрос здесь не задавался, я задал вопрос и также публикую свое решение.

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

Шаги, которые я выполнил:

  • Убить службу dhcp (dnsmasq)
  • Удалить аренду dhcp (/var/lib/dhcp/dhclient.leases)
  • Удалить openssh-* с конфигурациями ($ sudo apt purge openssh-*)
  • Перезагрузить машину ($ sudo reboot)
  • DHCP автоматически запросит новый IP, проверьте IP (совет: $ ifconfig | head -n2).
  • Обновить кеш пакетов ($ sudo apt update)
  • Установить openssh-server ($ sudo apt install openssh-server: это установит все зависимости)
  • Проверить ssh с любого другого устройства с новым IP.

Вы можете использовать apt-get вместо apt, если вы к нему более привыкли.

Оставляйте комментарии/ответы, если вы нашли другое решение!

[Правка 1]

Вам следует проверить, какая у вас служба dhcp, у меня это был dnsmasq. Это может быть isc-dhcp-server или что-то другое.

Ответ или решение

Чтобы решить проблему с ошибкой "Connection failed with error: Failed sending banner …", возникающей при подключении по SSH, необходимо учитывать несколько важных аспектов. Эта ошибка может проявляться, когда удаленное устройство находится за VPN или в локальной сети, и чаще всего связана с проблемами завершения TCP соединения. Понимание корневых причин этой ошибки – ключ к успешному решению.

Причины ошибки

  1. Неопрятное завершение соединения: Ошибка может происходить из-за обрыва TCP соединения до того, как оно будет корректно закрыто. Это часто наблюдается в условиях нестабильного сети.

  2. Конфликт DHCP: Если устройство получило IP-адрес, а затем возникли проблемы с DHCP (например, устаревшие аренды), это может привести к невозможности корректной отправки соединения.

  3. Проблемы с SSH сервером: Возможно, конфигурации вашего SSH-сервера нуждаются в обновлении или перес установке.

Эффективное решение

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

  1. Остановите службу DHCP. В некоторых случаях, отключение службы, например, dnsmasq, может разрешить конфликты с IP-адресами:

    sudo systemctl stop dnsmasq
  2. Удалите старую аренду DHCP. Удалите устаревшие файлы аренды, чтобы избежать возможных конфликтов:

    sudo rm /var/lib/dhcp/dhclient.leases
  3. Удалите OpenSSH с конфигурациями. Полное удаление пакетов SSH поможет устранить возможные конфликты в конфигурации:

    sudo apt purge openssh-*
  4. Перезагрузите устройство. После внесенных изменений перезагрузите устройство:

    sudo reboot
  5. Проверьте новый IP-адрес. После перезагрузки проверьте, что устройство получило новый IP-адрес:

    ifconfig | head -n2
  6. Обновите кэш пакетов. Убедитесь, что у вас актуальная информация о пакетах:

    sudo apt update
  7. Установите OpenSSH сервер. Установите OpenSSH-сервер заново, что приведет к цепной установке необходимых зависимостей:

    sudo apt install openssh-server
  8. Проверьте функциональность SSH. Теперь попробуйте подключиться к вашему устройству из другой машины:

    ssh user@new_ip_address

Заключение

Ошибка "Connection failed with error: Failed sending banner …" может быть следствием различных проблем, начиная от устаревших аренды DHCP и заканчивая неполадками в конфигурации SSH. Следуя предложенным шагам, вы сможете устранить возникшую проблему и восстановить корректное соединение. Не забудьте проверить, какая именно служба DHCP используется на вашем устройстве, так как она может варьироваться от dnsmasq до isc-dhcp-server.

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

Оцените материал
Добавить комментарий

Капча загружается...