您的位置:首页 > 其它

解决Ubuntu SSH登录时过慢的问题

2013-08-29 22:48 253 查看
作为服务器的Ubuntu,需要使用SSH进行远程访问。可是每次打开putty,输入用户名后,都要等上半天才提示输入密码,Google一下,发现大概有两种解决方法:

第一种方法:修改SSH配置文件

打开/etc/ssh/ssh_config文件,将其中的

GSSAPIAuthentication yes

改为

GSSAPIAuthentication no

或者将这两行注释掉。可是通过测试发现,这个方法并不奏效。

第二种方法:修改nsswitch.conf文件

将其中的一行:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

改为

hosts: files dns [NOTFOUND=return]

重新使用putty测试,效果立即显现。

还提到一种方法,就是在/etc/hosts中加入客户端的IP地址和域名,个人认为这种方法,对于大家都访问的服务器不太契合实际,就没有测试。

在前面虽然解决了问题,但是心中总感觉还是有什么堵着的,只知其然,不知其所以然,所以继续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])指定了不同状态时的操作,这里指没有找到就返回。

原网址: http://yhqlzz.blog.51cto.com/2557314/864683
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: