Chinaunix首页 | 论坛 | 博客
  • 博客访问: 579895
  • 博文数量: 142
  • 博客积分: 10016
  • 博客等级: 上将
  • 技术积分: 1835
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-10 14:30
个人简介

工作中~

文章分类

全部博文(142)

文章存档

2009年(25)

2008年(117)

我的朋友

分类: LINUX

2008-08-06 09:03:43

最近几天通过SSH登录局域网内的一台机器时,在输入用户名后,得等10多秒后才会有响应回来,很慢,
但PING的时候TTL时间很快,那机器负载也蛮小的。这个小问题存在了几天,一直没顾上解决,今天在网上查了些资料,终于知道的这个问题产生的原因。

原因之一是因为LINUX系统的一个文件/etc/nsswitch.conf ,在这里面有如下一行
hosts: files dns
这行的含义是对于访问的主机进行域名解析的顺序,是先访问file,也就是/etc/hosts文件,如果hosts中没有记录域名,则访问dns,进行域名解析,如果dns也无法访问,就会等待访问超时后返回,因此等待时间比较长。
解决这个问题有以下几个方法:

1、在server上/etc/hosts文件中把你本机的ip和hostname加入,改后便可生效;

2、在server上/etc/ssh/sshd_config文件中修改或加入UseDNS=no

  然后/etc/init.d/ssh restart使配置生效;

3、注释掉server上/etc/resolv.conf中所有行改后便可生效;

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

  改后便可生效;

   #我访问慢的原因就是因为上边这个原因,通过上边几个方法都能解决掉。


另外一个原因可能是

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


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

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





阅读(1316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~