我们经常会遇到的一个情况是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进程使配置生效。或者:service sshd restart重启。
※虽然配置文件中[UseDNS yes]被注释点,但默认开关就是yes...(SSH服务默认启用了DNS反向解析的功能)。
问题是什么?最为常见的原因是因为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进程使配置生效。或者:service sshd restart重启。
※虽然配置文件中[UseDNS yes]被注释点,但默认开关就是yes...(SSH服务默认启用了DNS反向解析的功能)。