通过OpenSSH远程登录时的延迟问题解决


Linux下的ssh 服务器一般用的都是OpenSSH,可是发现有些时候通过ssh连接服务器时总会有大概10秒钟左右的延迟。

一开始以为是OpenSSH的安全策略,防止端口扫描,后来发现自己想多了。解决方法如下:

修改服务器上的/etc/ssh/sshd_config文件,注意是sshd_config,不是ssh_config。

将其中的UseDNS一行的注释去掉,改为:

UseDNS no

重启sshd:

# service sshd restart

退出ssh,重新登录,发现没有延迟了。

默认情况下,UseDNS选项是打开的,当客户端连接ssh服务器时,ssh服务器会根据客户端的ip地址RTR反向查询客户端的hostname,然后再根据hostname进行DNS解析,得到ip地址,验证与原客户端的ip地址是否一致。这是一种防欺诈的手段,但是我们做实验的服务器都在内网中,客户端也在内网中,没有RTR记录打开这个选项也没有意义,只会浪费时间。

推荐阅读:

OpenSSH普通用户无法登录的几种情况的解决方法

通用线程: OpenSSH 密钥管理,第 1 部分理解 RSA/DSA 认证

相关内容