SSH 中的长时间延迟。如何解决resolve.conf问题

2 vpn ssh

我有一个 Ubuntu 9.04 服务器。在对服务器执行 SSH 时,我遇到了很长时间的延迟。我在 sshd_conf 中添加了“UseDNS no”并在 ssh_conf 中注释掉了“GSSAPIAuthentication yes”,问题仍然存在。

一看/etc/resolve.conf,好像问题出在那里。

内容/etc/resolve.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.xx.xx.xx
nameserver 10.xx.xxx.xx
search xyz.com
Run Code Online (Sandbox Code Playgroud)

我在某处读到这里的多个名称服务器条目可能会导致问题。我在该服务器上使用 VPN 客户端连接到我公司的网络,看起来条目是由 vpn 客户端自动添加的。

如何在不中断 VPN 客户端/连接的情况下修复这些长时间延迟。我不介意在从我的服务器通过 VPN 连接时无法使用我公司的服务器名称/别名,但希望在连接到服务器时修复长时间的 SSH 延迟。

============================

  1. 是的,我的意思是 /etc/sshd_conf

  2. 我使用IP地址直接连接

  3. 我没有使用 VPN 连接到我的服务器(有延迟)。但是,服务器上正在运行 VPN 客户端以进一步连接到其他网络。使用 VPN 客户端从我的服务器登录足够快。

  4. 抱歉,我没看懂 AddressFamily、inet 和其他一些评论。

以下是客户端的调试日志(大约有延迟):

OpenSSH_5.6p1, OpenSSL 0.9.8o 01 Jun 2010
debug1: Connecting to ......
debug1: Connection established.
debug1: identity file ..... type -1
debug1: identity file ..... type -1
debug1: identity file ..... type -1
debug1: identity file ..... type -1
Run Code Online (Sandbox Code Playgroud)

现在有 4 秒的暂停

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5ubuntu1
debug1: match: OpenSSH_5.1p1 Debian-5ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
Run Code Online (Sandbox Code Playgroud)

现在有 15-20 秒的暂停

debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
Run Code Online (Sandbox Code Playgroud)

现在有 40-50 秒的暂停

然后它检查指纹等并快速连接。

Ste*_*ski 5

sshd_conf

可以肯定的是,您的意思是/etc/ssh/sshd_config,而不是 sshd_conf ,对吗?我不认为 sshd_conf 或 sshd.conf 是 Ubuntu 上 OpenSSH 的有效文件,因此编辑它们将无济于事。

我在某处读到这里的多个名称服务器条目可能会导致问题。

/etc/resolv.conf 中的多个名称服务器应该不会造成任何问题,但如果列表中的第一个名称服务器很慢,则会影响您的系统。事实上,在 /etc/resolv.conf 中列出冗余名称服务器是一种很好的做法,以防一个名称服务器出现故障。

在深入挖掘之前,请尝试确定此问题是在客户端还是服务器端。

在客户端,开启 SSH 详细模式。这将告诉您客户端连接到服务器的进度。如果从客户端到服务器的连接速度很慢,您可能会在诸如“debug1:连接建立”之类的行之前看到延迟。或“debug1:服务器接受密钥:pkalg ssh-dss blen 435”。

在服务器端,在单独的窗口中跟踪 SSH 日志并查看日志。您可能希望将日志记录增加到“VERBOSE”。


更新:

不要使用 sshd_conf。将以下内容添加到 /etc/ssh/sshd_config ,重新启动 SSH,然后让我们知道会发生什么。

UseDNS no
Run Code Online (Sandbox Code Playgroud)

一次改变一件事。如果 UseDNS 不起作用,请尝试“GSSAPIAuthentication no”。