相信很多朋友在使用Linux系统的时候因为安全性的原因摒弃了telnet rlogin 或者 X-window,而把openssh作为自己默认的远程登录方式。

 

然而经常会遇到的一个情况是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

3、注释掉server上/etc/resolv.conf中所有行

4、修改server上/etc/nsswitch.conf中hosts为hosts: files

5、reboot server使配置生效

 

另外在

 

authentication gssapi-with-mic也有可能出现问题,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no.

/etc/init.d/sshd restart重启sshd进程使配置生效。

 

如果以上两招还不能解决问题,善于使用DEBUG MODE ssh -v来查看log,找到停滞时间最长的步骤,然后针对性的修改配置解决。

(责任编辑:A6)

本站文章仅代表作者观点,本站仅传递信息,并不表示赞同或反对.转载本站点内容时请注明来自-Linux伊甸园。如不注明,将根据《互联网著作权行政保护办法》追究其相应法律责任。

--------------------next---------------------