Пинг сервера всегда в порядке и стабилен, но часто возникают проблемы с созданием нового SSH-соединения с сервером.

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

Окружение

  • сервер ОС: Ubuntu 20.04(x86_64)
  • сервер SSH: OpenSSH_8.2p1 Ubuntu-4ubuntu0.8, OpenSSL 1.1.1f 31 Мар 2020

Опишите проблему

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

--- статистика пинга ---
2607 пакетов передано, 2607 получено, 0% потеря пакетов, время 2668547мс
время отклика min/avg/max/mdev = 0.056/0.104/0.580/0.027 мс

Нагрузка сервера очень низкая.

Но часто не удается установить новое SSH-соединение с сервером, оно длится от одной минуты до десятков минут.

Но ранее установленное SSH-соединение может работать нормально, кроме случаев, когда используются связанные с SSH службы, такие как команда sudo.

С этой проблемой сталкиваются 3 сервера, один из которых имеет более частую проблему и может быть недоступен до десяти минут, в то время как у остальных двух проблема наблюдается реже и они, как правило, недоступны от 1 до 3 минут.

Эта проблема возникает нерегулярно и часто.

Используя journalctl -u ssh, пытаюсь проверить SSH-журнал, но до сих пор не нашел причины:

16 Окт 16:15:33 user1-SERVER sshd[1806]: debug1: Forked child 3215566.
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: Set /proc/self/oom_score_adj to 0
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: inetd sockets after dupping: 4, 4
16 Окт 16:15:33 user1-SERVER sshd[3215566]: Подключение от 10.8.238.253 порт 65243 на 10.9.74.101 порт 22 rdomain ""
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.8
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: Remote protocol version 2.0, remote software version libssh_0.9.6
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: no match: libssh_0.9.6
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: permanently_set_uid: 127/65534 [preauth]
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
16 Окт 16:15:33 user1-SERVER sshd[3215566]: debug1: SSH2_MSG_KEXINIT sent [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: SSH2_MSG_KEXINIT received [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: kex: algorithm: curve25519-sha256 [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: kex: host key algorithm: ssh-ed25519 [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: rekey out after 4294967296 blocks [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: SSH2_MSG_NEWKEYS sent [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: Sending SSH2_MSG_EXT_INFO [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: expecting SSH2_MSG_NEWKEYS [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: SSH2_MSG_NEWKEYS received [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: rekey in after 4294967296 blocks [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: KEX done [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: userauth-request for user user1 service ssh-connection method none [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: attempt 0 failures 0 [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: PAM: initializing for "user1"
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: PAM: setting PAM_RHOST to "10.8.238.253"
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: PAM: setting PAM_TTY to "ssh"
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: userauth-request for user user1 service ssh-connection method password [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: attempt 1 failures 0 [preauth]
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: PAM: password authentication accepted for user1
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: do_pam_account: called
16 Окт 16:15:34 user1-SERVER sshd[3215566]: Принят пароль для user1 от 10.8.238.253 порт 65243 ssh2
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: monitor_child_preauth: user1 has been authenticated by privileged process
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: monitor_read_log: child log fd closed
16 Окт 16:15:34 user1-SERVER sshd[3215566]: debug1: PAM: establishing credentials
16 Окт 16:15:34 user1-SERVER sshd[3215566]: pam_unix(sshd:session): session открыта для пользователя user1 (uid=0)
16 Окт 16:17:51 user1-SERVER sshd[1806]: debug1: Forked child 3217034.
16 Окт 16:17:51 user1-SERVER sshd[3217034]: debug1: Set /proc/self/oom_score_adj to 0
16 Окт 16:17:51 user1-SERVER sshd[3217034]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: inetd sockets after dupping: 4, 4
16 Окт 16:18:33 user1-SERVER sshd[3217034]: Подключение от 10.8.238.253 порт 65396 на 10.9.74.101 порт 22 rdomain ""
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.8
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: Remote protocol version 2.0, remote software version libssh_0.9.6
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: no match: libssh_0.9.6
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: permanently_set_uid: 127/65534 [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: SSH2_MSG_KEXINIT sent [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: Received disconnect from 10.8.238.253 port 65396:11: Bye Bye [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: Отключено от 10.8.238.253 порт 65396 [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: do_cleanup [preauth]
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: monitor_read_log: child log fd closed
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: do_cleanup
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: Killing privsep child 3217204
16 Окт 16:18:33 user1-SERVER sshd[3217034]: debug1: audit_event: unhandled event 12
16 Окт 16:18:33 user1-SERVER sshd[1806]: debug1: main_sigchld_handler: Child exited
16 Окт 16:18:37 user1-SERVER sshd[1806]: debug1: Forked child 3217248.
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: Set /proc/self/oom_score_adj to 0
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: inetd sockets after dupping: 4, 4
16 Окт 16:18:37 user1-SERVER sshd[3217248]: Подключение от 10.8.238.253 порт 65435 на 10.9.74.101 порт 22 rdomain ""
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.8
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: Remote protocol version 2.0, remote software version libssh_0.9.6
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: no match: libssh_0.9.6
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: permanently_set_uid: 127/65534 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: list_hostkey_types: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: SSH2_MSG_KEXINIT sent [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: SSH2_MSG_KEXINIT received [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: kex: algorithm: curve25519-sha256 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: kex: host key algorithm: ssh-ed25519 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: rekey out after 4294967296 blocks [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: SSH2_MSG_NEWKEYS sent [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: Sending SSH2_MSG_EXT_INFO [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: expecting SSH2_MSG_NEWKEYS [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: SSH2_MSG_NEWKEYS received [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: rekey in after 4294967296 blocks [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: KEX done [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: userauth-request for user user1 service ssh-connection method none [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: attempt 0 failures 0 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: PAM: initializing for "user1"
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: PAM: setting PAM_RHOST to "10.8.238.253"
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: PAM: setting PAM_TTY to "ssh"
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: userauth-request for user user1 service ssh-connection method password [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: attempt 1 failures 0 [preauth]
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: PAM: password authentication accepted for user1
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: do_pam_account: called
16 Окт 16:18:37 user1-SERVER sshd[3217248]: Принят пароль для user1 от 10.8.238.253 порт 65435 ssh2
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: monitor_child_preauth: user1 has been authenticated by privileged process
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: monitor_read_log: child log fd closed
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: PAM: establishing credentials
16 Окт 16:18:37 user1-SERVER sshd[3217248]: pam_unix(sshd:session): session открыта для пользователя user1 (uid=0)
16 Окт 16:18:37 user1-SERVER sshd[3217248]: Дочерний процесс пользователя на pid 3217304
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: session_new: session 0
16 Окт 16:18:37 user1-SERVER sshd[3217248]: debug1: Поддержка SELinux отключена

Как найти причину и решить эту проблему?

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

Анализ проблемы подключения SSH к серверу на Ubuntu 20.04

В данном вопросе мы сталкиваемся с неполадками при установлении новых SSH-соединений к серверу, несмотря на то что пинг до сервера стабилен и не показывает потери пакетов. Важным аспектом является то, что ранее установленные SSH-соединения работают корректно, включая выполнение команд с использованием sudo. Поскольку проблема возникает нерегулярно и зависит от времени, важно рассмотреть несколько возможных причин и подходов к её диагностике и устранению.

Потенциальные причины проблемы:

  1. Проблемы с селекторами подключения:

    • Если у сервера установлено ограничение на количество одновременно открытых SSH-соединений, это может привести к невозможности установить новые соединения. Проверьте параметры конфигурации SSH в файле /etc/ssh/sshd_config, особенно параметр MaxSessions.
  2. Ограничения по ресурсам:

    • Возможны проблемы с ресурсами (например, нехватка дескрипторов файлов или памяти). Проверьте текущие лимиты с помощью команды ulimit -n и увеличьте их при необходимости.
    • Используйте команду free -m для мониторинга использования памяти.
  3. Настройки сетевого файервола:

    • Проверьте настройки iptables или ufw, чтобы убедиться, что нет ограничений на установление новых соединений. Используйте команды sudo iptables -L и sudo ufw status для проверки правил файервола.
  4. Неисправности в сетевой инфраструктуре:

    • Проверьте, нет ли проблем с маршрутизацией или сетевыми интерфейсами. Если на сервере имеется инфраструктура с несколькими сетевыми интерфейсами, это может вызывать нестабильность в соединениях.
  5. Логирование и отладка SSH-сервера:

    • Используйте уровень отладки для SSH, изменив параметр LogLevel в файле конфигурации /etc/ssh/sshd_config на DEBUG. Это позволит получить более подробную информацию о попытках подключения, которая может помочь в диагностике.
  6. Проблемы с PAM (Pluggable Authentication Module):

    • В журнале были упомянуты сообщения о PAM. Это может указывать на проблемы с аутентификацией. Убедитесь, что службы PAM настроены корректно и не блокируют аутентификацию.

Рекомендуемые шаги для диагностики и решения проблемы:

  1. Мониторинг системы:

    • Ведите мониторинг нагрузки на сервер в момент возникновения проблемы. Используйте утилиты, такие как top, htop или vmstat.
  2. Анализ системных логов:

    • Проверьте системные журналы с помощью команды journalctl для поиска ошибок или предупреждений в момент возникновения проблемы. Особый интерес могут представлять предупреждения о недостатке ресурсов или блокировках.
  3. Анализ логов SSH:

    • После активации более подробного логирования SSH, проверьте логи на предмет ошибок и возможных прерываний в обработке подключения.
  4. Тестирование конфигурации:

    • Попробуйте подключить к серверу с помощью других клиентов SSH или из разных сетей, чтобы исключить проблемы с конкретным клиентом или сетью.

Заключение:

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

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

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