ssh 慢的问题

解决办法: https://injustfiveminutes.com/2013/03/13/fixing-ssh-login-long-delay/

ssh时候,服务器端可能需要进行域名解析,这个过程可能会比较慢,抓包如下:

 

strace 的部分结果:

查问题的过程:

  1. 问题定位到: dns查询时,一个请求同时查询A记录和AAAA记录而服务器端只返回一个响应所致
    可能是dns不靠谱,也可能是协议定义有缺陷
  2. 一般来讲,dns查询是有底层的libnss实现的,直接使用host 来查询应该也是相同效果吧? 结果不是
    host 查询时发现,A记录和AAAA记录虽然都查询了,但是是两次请求完成的; 看来二者用的库可能不一样
  3. google search “ sshd dns resolve ipv6” 发现文章: https://injustfiveminutes.com/2013/03/13/fixing-ssh-login-long-delay/
    可以通过在/etc/resolve.conf中添加

    来使得A和AAAA分作两次请求; 问题解决
  4. 一般来讲,我们只要使得ssh配置UseDNS no就可以了,但是,我们这里的情况是登录时使用了ldap(通过域名访问)认证,所以,域名解析就避不开了
  5. 遗留问题: 为什么client一次请求查询A和AAAA时,client不能和server好好配合呢?

其他参考: http://xxrenzhe.blog.51cto.com/4036116/1340103

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据