使用@hostname.com 时 ssh 连接很慢,但使用@ipaddress 时则不慢

使用@hostname.com 时 ssh 连接很慢,但使用@ipaddress 时则不慢

当使用 ssh 连接到 Debian 服务器时,如果我使用[电子邮件保护](服务器的 IP 地址)连接是即时的。

但是如果我使用[电子邮件保护](DNS重定向到服务器的IP地址)ssh连接挂起20秒后才成功连接。ssh日志显示以下内容:

[alex@alex home]$ ssh -v -v [email protected]
OpenSSH_5.5p1, OpenSSL 1.0.0c-fips 2 Dec 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0

这里它挂起了 20 秒才继续。

我认为它可能与反向 DNS 或类似内容有关(服务器实际上并不“知道”它的名称是 hostname.com,它只是将该 DNS 重定向到其 IP 地址)。

我已将以下选项添加到 /etc/ssh/sshd_config:

UseDNS no
GSSAPIAuthentication no

没有效果。

/etc/resolv.conf 中的服务器 DNS 记录配置正确:

ping hostname.com
PING sub.domain.com (X.X.X.X) 56(84) bytes of data.
64 bytes from replicant (X.X.X.X): icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from replicant (X.X.X.X): icmp_seq=2 ttl=64 time=0.050 ms�s

谢谢您的帮助。

解决方案: 看来我的 ISP 提供给我的 DSL 路由器是造成问题的原因。

将我的 DNS 服务器从 192.168.1.1(路由器的 IP)更改为 google 的(8.8.8.8,在您着急的时候知道这个信息总是好的)立即解决了连接延迟问题。

我猜测提供的 50 欧元路由器不缓存 DNS 条目,虽然我不明白为什么 ping DNS 地址没有延迟,而且即使对于未缓存的 DNS,20 秒的等待时间也太长了。

再次感谢您的帮助!

答案1

您需要添加

GSSAPIAuthentication no

...到/etc/ssh/ssh_config不是 /etc/ssh/sshd_config正如你所说的。要检查这是否确实是修复方法,请尝试添加-o GSSAPIAuthentication=no到命令行以查看是否能改变情况。

答案2

我使用的是 Mac 客户端。在服务器上禁用 GSSAPIAuthentication 没有任何效果。

我跟着http://hints.macworld.com/article.php?story=20111020115417965并关闭了我的〜/.ssh /配置通过增加:

Host ...
AddressFamily inet

这解决了这个问题:-)

答案3

您可能在客户端遇到一些 DNS 问题,请检查解析服务器主机名需要多长时间:

[vitalie@silver ~]$ time host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.87.99
www.l.google.com has address 74.125.87.104

real    0m0.727s
user    0m0.002s
sys     0m0.008s

相关内容