我们经常会遇到的一个情况是telnet到server速度很快,但是ssh连接的时候却很慢,大概
要等半分钟甚至更久。ping的速度也非常好,让人误以为是ssh连接不上。
 
下面说下如何解决这样的问题,最为常见的原因是因为server的sshd会去DNS查找访问
client IP的hostname,如果DNS不可用或者没有相关记录,就会耗费大量时间。
 
1、在server上/etc/hosts文件中把你本机的ip和hostname加入
 
2、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no,另外在authentication gssapi-with-mic也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no.
 
3、修改server上/etc/nsswitch.conf中hosts为hosts: files    //这个会导致服务器无法访问外网
 
4、reboot server使配置生效
/etc/init.d/sshd restart重启sshd进程使配置生效。

05-21 19:36