在前面虽然解决了问题,但是心中总感觉还是有什么堵着的,只知其然,不知其所以然,所以继续Google就发现以下内容。
先给出两个参考的网址:
http://tech.waltco.biz/2008/02/02/ssh-slow-to-connect-in-ubuntu-710-gutsy-gibbon/
http://netbsd.gw.com/cgi-bin/man-cgi?nsswitch.conf+5+NetBSD-current
我这里也是借花献佛,把其中的内容大致翻译一下。
另外两种解决方法(经过测试都可以用):
第一种方法修改nsswitch.conf,只需要把hosts后面的mdns4去掉就行了。看来就是mdns4花费掉了大部分的时间。至于mdns4是什么还没有找到相关的内容。
第二种方法是修改sshd_config文件,在其中加上一行
UseDNS no
保存,然后使用命令:
/etc/init.d/ssh restart
重启ssh服务(一定要重启),就可以了。
nsswitch.conf是一个名称服务交换配置(name-service switch configuration)文件。对于hosts这一行,它指定了如何去查找dns主机,file dns是其默认值,而[notfound=return]([status=action])指定了不同状态时的操作,这里指没有找到就返回。
更多的内容可以参考上面的第二个链接。