Nawiązanie połączenia z jednym z moich serwerów za pomocą ssh trwa dłużej niż 20 sekund.
Nie jest to związane z warunkami LAN lub WAN, ponieważ połączenie z samym sobą zajmuje to samo (ssh localhost). Po ostatecznym ustanowieniu połączenia interakcja z serwerem jest bardzo szybka.
Użycie -vvv pokazuje, że połączenie jest zawieszone po powiedzeniu „pledge: network”. W tym momencie uwierzytelnianie (tutaj za pomocą klucza) jest już wykonane, jak widać tutaj:
...
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
(... utknąłem tutaj na 15 do 25 sekund ...)
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
...
Serwer to Ubuntu 16.04. W przeszłości zdarzyło mi się to z innym serwerem (był Ubuntu 12.04), nerver znalazł rozwiązanie i problem zniknął po pewnym czasie ...
sshd_config jest domyślnym programem dostarczanym przez Ubuntu.
Do tej pory próbowałem:
- using -o GSSAPIAuthentication = no w komendzie ssh
- używając hasła zamiast klucza
- using UsePrivilegeSeparation no zamiast yes, w sshd_config
systemctl restart systemd-logind
naprawia dla mnie problem tylko przez krótki czas.
pam_systemd(sshd:session): Failed to create session: Connection timed out
jak wspomniano w odpowiedzi, może to być github.com/systemd/systemd/issues/2925