我正在本地 Windows 和三个远程 CentOS7 Linux 服务器上工作。三台服务器在同一个网关下。三台服务器的IP分别是:170.35.31.104、170.35.31.105、170.35.31.106。
我使用 MobaXterm(免费版)来 ssh 我的远程服务器。
当我和时,它工作正常。ssh [email protected]
ssh [email protected]
但是当我 时,我会得到一个巨大的延迟:after ,大约 30 秒后,我得到一句话:。然后大约5秒后,我就登录成功了。ssh [email protected]
ssh [email protected]
Authorized users only. All activities may be monitored and reported.
我已经测试了很多次很多天,我总是需要在输入后等待大约35秒。ssh [email protected]
ssh [email protected]
我真的很想知道是什么导致了巨大的延迟。
任何想法?
顺便说一句,ssh -V
在三台服务器上给了我相同的输出:
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
答案1
,由于您使用 IP 地址进行 ssh'ing,因此在客户端,不涉及 DNS 解析,因此罪魁祸首肯定是服务器端的useDNS
选项。sshd_config
我建议还要留意其他服务,它们可能会尝试解析 DNS 来记录/接受请求,或者设置内部 DNS 服务。例如,参见这对于阿帕奇和另一种是阿帕奇的, 或者syslog-ng 的又一个, 或者相关的 MySQL 一个有关服务和/或其配置文件中可能出现的问题的示例。
据我所知,7.4 中的默认值已更改为useDNS no
;以前是useDNS yes
。因此,在处理不同版本的 OpenSSH 服务器时必须考虑到这一点。
一般来说,由于服务/应用程序(错误)配置中缺少 DNS 可能会出现奇怪的问题,因此我更喜欢提供某种 DNS 服务,即使它是简单的dnsmasq
饮水/etc/hosts
,在端口 53/UDP 和 53/TCP 中应答。