Tengo una configuración de servidor (Debian 7) en mi universidad con IP pública. cuando ingreso al sistema (desde fuera del campus), recibo un retraso extraño de 5 a 10 segundos antes de recibir la solicitud de contraseña. ¿Porqué es eso?
Corro ssh -v
para obtener resultados detallados:
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
.... delay of 5-10 seconds here
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/nass/.ssh/id_rsa
debug1: Trying private key: /home/nass/.ssh/id_dsa
debug1: Trying private key: /home/nass/.ssh/id_ecdsa
debug1: Next authentication method: password
entonces recibo el aviso de contraseña bien.
mi resolv.conf
parece
domain <mydomain>.edu
nameserver <dns ip address>
el firewall está controlado por webmin
, y la configuración se /etc/webmin/firewall/iptables.save
ve así:
# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*filter
:FORWARD DROP [0:0]
:IP_TCP - [0:0]
:INPUT DROP [0:0]
:IP_UDP - [0:0]
:OUTPUT ACCEPT [0:0]
:IP_ICMP - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i eth0 -j DROP
-A INPUT -p icmp -i eth0 -j IP_ICMP
-A INPUT -p udp -m udp -i eth0 -j IP_UDP
-A INPUT -p tcp -m tcp -i eth0 -j IP_TCP
-A INPUT -m limit --limit 3/second --limit-burst 3 -j ULOG --ulog-prefix "FW_INPUT: " --ulog-nlgroup 1
-A IP_ICMP -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A IP_ICMP -p icmp -j RETURN
-A IP_TCP -p tcp -m tcp --dport 2049:2050 -j DROP
-A IP_TCP -p tcp -m tcp --dport 6000:6063 -j DROP
-A IP_TCP -p tcp -m tcp --dport 7000:7010 -j DROP
-A IP_TCP -p tcp -m tcp --dport 19001 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 12321 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A IP_TCP -p tcp -m tcp -j RETURN
COMMIT
# Completed on Mon Feb 10 17:41:38 2014
# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*mangle
:PREROUTING ACCEPT [2386474:238877913]
:INPUT ACCEPT [2251067:225473866]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1100410:5416839301]
:POSTROUTING ACCEPT [1100428:5416842284]
COMMIT
# Completed on Mon Feb 10 17:41:38 2014
# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*nat
:PREROUTING ACCEPT [211832:26633302]
:INPUT ACCEPT [444:26827]
:OUTPUT ACCEPT [1817:114098]
:POSTROUTING ACCEPT [1817:114098]
COMMIT
# Completed on Mon Feb 10 17:41:38 2014
Por último, pero no menos importante, un colega que también tiene una cuenta en el mismo sistema recibe el aviso de inmediato.
UseDNS yes
habilitado. Esto es notorio por ralentizar los inicios de sesión. Aparte de eso, necesitaríamos ver los registros de depuración del servidor ($(which sshd) -d
).Respuestas:
Como se indica en los comentarios, esto probablemente se deba a la
UseDNS yes
configuración ensshd_config
el servidor.El
UseDNS
entorno es un culpable común de este mismo problema. Básicamente, lo que sucede es que su bloque de red IP tiene un servidor DNS defectuoso o falta. Entonces sshd está tratando de hacer una búsqueda inversa en su dirección IP, y espera hasta que se agote el tiempo de espera. Otras personas no experimentan el retraso ya que tienen un servidor DNS funcional para su bloque de red.La mayoría de las personas desactiva esta configuración por esta misma razón. Si bien sí, la configuración está ahí para la seguridad, es prácticamente inútil .
La solución es simplemente establecer lo siguiente en
sshd_config
:fuente
sshd_config
en debian 7 viene sin esta cláusula en el archivo de configuración. Uno debe escribirlo.