解决Linux系统ssh连接太慢的问题

如果是ssh到远程主机,由于网络快慢等诸多因素,慢一点是很正常的;但如果ssh到本地的某一台主机,也需要等待30s左右,就让人有些无法忍受了!
自从使用debian(版本lenny,以前使用ubuntu6.06时候并没有这个问题)以来,这个问题就存在了,但一直没有时间来解决(或是有尝试过,但失败了),今天终于忍耐不住,到debian mailing-list上问了一下,然后结合自己的实践,基本有些结论了!

根据网上的帖子以及各位网友的提议,感觉这个问题的解决方法好像并不是通用的。不过也没关系,所涉及修改的也就那么几处,如果遇到类似问题,都尝试一下应该就能找到解决的方法了!

我的问题症状: ssh lan_host,需要等待至少30秒才能看到Password的输入提示(网上说这是因为dns反查所造成的);
我的解决方法:需要修改两个配置文件,/etc/resolv.conf 和 /etc/nsswitch.conf

在/etc/resolv.conf里面配置一个正式点dns,原来使用的是192.168.1.1,上网是没有问题的,但这里需要改成一个类似222.xx.xx.xx的域名才行;(我对域名这块没怎么研究,不知道该如何正确表述)
对于/etc/nsswitch.conf,需要将:“hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4” 改成 "hosts: files dns",这种修改,相当于禁止掉了mdns的使用,而只使用dns进行解析;
然后重启sshd服务。
关于mdns:主要是用来解决zeroconf的问题,一般用于局域网内来解析主机名。在linux中的实现是,每个主机运行一个mdns的daemon,让客户地查询的时候,返回自己的主机名。譬如你的主机名叫做abc,那么如果你在nsswitch.conf里面配置了需要支持mdns解析的话,那么你就可以通过ping abc.local, ssh abc.local等来访问这个机器。其实实质上应该是gethostbyname那里读取了nsswitch.conf,然后调用相应的实现来获取地址的。它的好处是,不用配置。(更多详情可参见:  http://www.multicastdns.org/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值