通过 SSH 服务远端访问 Linux 站群服务器,总是等待很久才能登陆。
试过下面的方法,再通过 SSH 服务远端访问 Linux 站群服务器,瞬间登陆。。。甚是开心。。。
vi /etc/ssh/sshd_config
关闭 SSH 的 DNS 反解析, 新增下面一行:
UseDNS no
※虽然配置档案中 [UseDNS yes] 被注释点,
但预设开关就是 yes…(SSH 服务预设启用了 DNS 反向解析的功能)
#############################################################
上网查了相关的资料:↓
在目标站群服务器上有一个档案/etc/nsswitch.conf ,里面有如下一行
hosts: files dns
这行的含义是 对于访问的 WordPress 主机进行域名解析的顺序,是先访问 file,也就是/etc/hosts 档案,如果 hosts 中没有记录域名,则访问 dns,进行域名解析,如 果 dns 也无法访问,就会等待访问超时后返回,因此等待时间比较长。那如果将这一行遮蔽掉是不是也可以达到同样的效果呢?应该是可以的,但是如果本机要通 过域名访问其他站群服务器,则肯定无法访问,因此这行应该需要保留。这个问题也提示我们,dns 如果不可用,会带来的一些副作用的。
相信很多朋友在使用 Linux 系统的时候因为安全性的原因摒弃了 telnet rlogin 或者 X-window,而把 openssh 作为自己预设的远端登入方式。然而经常会遇到的一个情况是 telnet 到 server 速度很快,但是 ssh 连线 的时候却很慢,大概要等半分钟甚至更久。 ping 的速度也非常好,让人误以为是 ssh 连线不上。下面说下如何解决这样的问题,最为常见的原因是因为 server 的 sshd 会去 DNS 查询访问 clientIP 的 hostname,如果 DNS 不可用或者没有相关记录,就会耗费大量时间。
1, 在 server 上/etc/hosts 档案中把你本机的 ip 和 hostname 加入
2, 在 server 上/etc/ssh/sshd_config 档案中修改或加入 UseDNS=no(这个方法试过了,好用)
3, 注释掉 server 上/etc/resolv.conf 中所有行(关于这个方法:另一台站群服务器虽然没有按照方法 2 修改配置档案 sshd_config,但是在这台站群服务器 resolv.conf 为空,也就是说这个方法也好用)
4, 修改 server 上/etc/nsswitch.conf 中 hosts 为 hosts: files
5, reboot server 使配置生效