Подключение к одному из моих серверов с использованием ssh требует более 20 секунд для инициации.
Это не относится к условиям LAN или WAN, так как соединение с самим собой происходит одинаково (ssh localhost). После того, как соединение наконец установлено, это очень быстро взаимодействует с сервером.
Использование -vvv показывает, что соединение застряло после произнесения «залог: сеть». На этом этапе аутентификация (здесь с использованием ключа) уже выполнена, как видно здесь:
...
debug1: Authentication succeeded (publickey).
Authenticated to myserver.mydomain.com ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
(... застрял здесь на 15-25 секунд ...)
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
...
Сервер Ubuntu 16.04. Это уже случалось со мной в прошлом на другом сервере (был Ubuntu 12.04), Nerver нашел решение, и проблема исчезла через некоторое время ...
sshd_config - это стандартная версия, предоставляемая Ubuntu.
Пока что я попробовал:
- используя -o GSSAPIAuthentication = no в команде ssh
- используя пароль вместо ключа
- использование UsePrivilegeSeparation no вместо yes в sshd_config
systemctl restart systemd-logindисправляет проблему только на короткий промежуток времени для меня.
pam_systemd(sshd:session): Failed to create session: Connection timed outкак упомянуто в ответе, это может быть github.com/systemd/systemd/issues/2925