El problema
Nos enfrentamos a este problema la semana pasada, donde el SSH a los servidores era demasiado lento. SSH a los servidores Linux tardaba mucho tiempo, entre 30 segundos y 1 minuto. SSH se atascó en el siguiente mensaje y no hubo opción para ingresar la contraseña durante 30 segundos y se mostró el mensaje de contraseña, pero nada continúa después de ingresar la contraseña.
# ssh -vvv [server_ip_address] OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug3: cipher ok: arcfour [arcfour,aes128-ctr,aes192-ctr,aes256-ctr] debug3: cipher ok: aes128-ctr [arcfour,aes128-ctr,aes192-ctr,aes256-ctr] debug3: cipher ok: aes192-ctr [arcfour,aes128-ctr,aes192-ctr,aes256-ctr] debug3: cipher ok: aes256-ctr [arcfour,aes128-ctr,aes192-ctr,aes256-ctr] debug3: ciphers ok: [arcfour,aes128-ctr,aes192-ctr,aes256-ctr] debug2: mac_setup: found hmac-sha1 debug3: mac ok: hmac-sha1 [hmac-sha1] debug3: macs ok: [hmac-sha1] ... debug1: Found key in /root/.ssh/known_hosts:36 debug2: bits set: 1063/2048 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug3: Wrote 16 bytes for a total of 813 debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug3: Wrote 52 bytes for a total of 865 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received
La solución
El inicio de sesión SSH en un servidor Linux puede retrasarse o ralentizarse si tiene una entrada de servidor rsyslog incorrecta o un servidor rsyslog inaccesible definido en el archivo de configuración /etc/rsyslog.conf . Para resolver el problema, asegúrese de que siempre se pueda acceder al servidor rsyslog desde los clientes rsyslog. O bien, como solución, edite el archivo de configuración de rsyslog /etc/rsyslog.conf en el lado del cliente y comente todas las referencias relacionadas con rsyslog.
1. Por ejemplo, edite el archivo /etc/rsyslog.conf y comente debajo de tres líneas.
# vi /etc/rsyslog.conf #*.* @@xxx.xxx.xxx.xxx:514 #daemon.*;daemon.!info /var/log/messages #local0.info /var/log/asmaudit.log
2. Reinicie el servicio rsyslog.
# service rsyslog restart # CentOS/RHEL 6 # systemctl restart rsyslog # CentOS/RHEL 7Nota :el servicio rsyslog debe reiniciarse en caso de que se produzca algún cambio en el archivo de configuración de rsyslog.
Conclusión
El servicio sshd intentará registrar los intentos de inicio de sesión y otros registros informativos en los archivos syslog, pero si hay carga en el sistema o algún problema con el servicio syslog durante ese tiempo, esto retrasará las conexiones hasta que se agote el tiempo de espera de la solicitud. Esto se puede solucionar resolviendo el problema de conectividad con el servidor rsyslog o comentando las líneas que hacen referencia al servidor rsyslog inalcanzable.