Image

База знаний → Причины и устранение долгой задержки при подключении по SSH

[Виртуальные сервера]
Дата публикации: 07.02.2025

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

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

Приведенные команды работают для Debian\Ubuntu, для CentOS\Alma\Rocky они могут немного отличаться, например там служба не ssh, а sshd - учитывайте это при выполнении, в остальном все также.

1. Самая распространенная причина, ожидание DNS сервера

Откройте файл конфигурации ssh службы:

nano /etc/ssh/sshd_config

Выключите параметр UseDNS, он не будет стараться получить обратную запись (PTR) у IP

UseDNS no

После внесения изменений перезапустите службу

service ssh restart

2. Не указан таймаут подключения

Откройте файл конфигурации ssh службы:

nano /etc/ssh/sshd_config

Приведите параметр к виду:

LoginGraceTime 10s

После внесения изменений перезапустите службу

service ssh restart

3. Долгое ожидание связано со службой systemd-logind

При этом лог auth.log, как правило, содержит такие события:

pam_systemd(sshd:session): Failed to create session: Connection timed out

Проверьте статус службы:

systemctl status systemd-logind

При необходимости перезапустите ее, командой restart.

Если задержка останется, откройте файл, используя vi или nano:

/etc/pam.d/common-session

Закомментируйте строку, символом #

#session	optional	pam_systemd.so

После чего перезапустите службу

systemctl restart systemd-logind

Попробуйте снова, но помните, что при такой работе консоль может работать не полноценно, поэтому данный вариант стоит рассматривать как временное решение.





Нет комментариев