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

Ale*_*rey 6 ssh

使用 ssh 连接到 Debian 服务器时,如果我使用 user@XXX.XXX.XXX.XXX(服务器的 IP 地址),则连接是即时的。

但是,如果我使用 user@hostname.com(重定向到服务器 IP 地址的 DNS),则 ssh 连接会在成功连接之前挂起 20 秒。ssh 日志显示以下内容:

[alex@alex home]$ ssh -v -v git@hotname.com
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
Run Code Online (Sandbox Code Playgroud)

在这里它在继续之前挂起 20 秒。

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

我在 /etc/ssh/sshd_config 中添加了以下选项:

UseDNS no
GSSAPIAuthentication no
Run Code Online (Sandbox Code Playgroud)

没有效果。

/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
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助。

解决方案: 看来我的 ISP 给我的 DSL 路由器造成了问题。

将我的 DNS 服务器从 192.168.1.1(路由器的 IP)更改为 google 的(8.8.8.8,在您匆忙时总是很高兴)立即解决了连接延迟问题。

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

再次寻求帮助!

And*_*ith 3

你需要添加

GSSAPIAuthentication no
Run Code Online (Sandbox Code Playgroud)

……/etc/ssh/ssh_config不是像你说的那样 /etc/ssh/sshd_config要检查这是否确实解决了问题,请尝试添加-o GSSAPIAuthentication=no到命令行中,看看是否会发生变化。