解决 linux ssh 连接慢的问题

在远程登录linux系统的时候, 一般都是使用ssh,而有的时候,sshl连接很慢,这里就说一下原因,以及解决的方法

在大家使用 linux 的时候,一般也都使用 ssh 做为连接,可是每次连接的时候,输入了用户名以后,总是需要等待十几秒钟到30秒左右的时间,才出现了输入密码。

在尝试了使用 ping 结果都正常,延时也很正常,以及访问该服务器上的其它应用,都正常,很快,不需要等待那么长的时间。(若有开了 telnet server 的,使用 telnet 连接,也会很快连接上)

其实,在使用 ssh 连接的时候,我们的 linux 服务器,ssh 服务会反向解析客户端来的IP,若是没有资源,则会一直查找,到最后超时,浪费了大量的时间,在我们的使用上,也是极其不便。

解决方法,有两个。第一个是在服务器上的 /etc/hosts 文件,加上我们的客户端的 IP,随便写一个解析。这种可以对于固定 IP 的客户端,而使用 动态 DHCP 获取地址的客户端,则止方法不适用。

第二种方法,是关闭 ssh 服务的反向解析功能,配置文件位于

/etc/ssh/sshd_config

在这个文件里,可以使用 vim 来修改,或者其它编辑器,当然,看你的爱好,在文件里,可以看到,有一行 UseDNS  Yes,虽然这一行是注释的,但是默认的情况下,这行是 yes 的,也的注释了也还是生效。

UseDNS  no

在文件里修改,或者添加这一行,然后重启服务即可

/etc/init.d/ssh restart

重启服务这里要注意一下,有的 linux 发行版本是 ssd 有的发行版本早是 sshd 。


PS:部分 linux 版本加上 UseDNS no 也不生效的,可以尝试修改或者添加

GSSAPIAuthentication no

则就可以解决连接缓慢的问题。

猜您喜欢