La conexión a uno de mis servidores mediante ssh tarda más de 20 segundos en iniciarse.
Esto no está relacionado con las condiciones de LAN o WAN, ya que la conexión a sí mismo toma lo mismo (ssh localhost). Después de que finalmente se establece la conexión, es súper rápido interactuar con el servidor.
El uso de -vvv muestra que la conexión está bloqueada después de decir "compromiso: red". En este punto, la autenticación (aquí usando la clave) ya está hecha, como se ve aquí:
...
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
(... atrapado aquí por 15 a 25 segundos ...)
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
...
El servidor es Ubuntu 16.04. Ya me sucedió en el pasado con otro servidor (era Ubuntu 12.04), nerver encontró la solución y el problema desapareció después de un tiempo ...
sshd_config es el predeterminado proporcionado por Ubuntu.
Hasta ahora he intentado:
- usando -o GSSAPIAuthentication = no en el comando ssh
- usando una contraseña en lugar de una clave
- usando UsePrivilegeSeparation no en lugar de yes, en sshd_config
systemctl restart systemd-logind
soluciona el problema solo por un corto período de tiempo para mí.
pam_systemd(sshd:session): Failed to create session: Connection timed out
como se menciona en una respuesta, esto podría ser github.com/systemd/systemd/issues/2925