linux操作系统可以ping通ssh连接无响应

一.问题描述

某数据节点服务器频繁无法连接,服务器间出现可ping通但ssh无法连接的情况,使用带外地址登录后远程控制也无法显示正常界面,重启后会短暂恢复。

二.排查问题

重启服务器后检查服务器SSH状态均为正常,无奈只能去Redhat官网提case并sosreport收集日志等信息反馈后等待分析结果。

无法登录时得到的报错信息如下:
linux操作系统可以ping通ssh连接无响应

请在系统中执行以下命令,并将输出结果反馈
# ssh -vvv IP_address </br>
收集strace的结果
# strace -fvttTyyx -s 4096 -o /tmp/strace.txt ssh IP_address </br>
收集如下命令的输出结果,查看是否有RPM包丢失
# rpm -Va &&gt; rpmva.out </br>

三.解决方案

将 /etc/ssh/sshd_config 文件中的如下条目取消注释,并重启sshd服务:
# cat etc/ssh/sshd_config | grep DNS </br>
将sshd_config中UseDNS选项yes改为no并删掉
#vi /etc/ssh/sshd_config
UseDNS no
# systemctl restart sshd.service

重启解决,ssh正常连接使用

四.原因分析

  • UseDNS指定sshd是否应查找远程主机名,并检查所解析的远程IP地址的主机名是否映射回相同的IP地址。 默认值为"yes"。 如果此选项设置为no,则〜和.ssh / authorized_keys中的和和sshd_config匹配主机指令中只能使用地址,而不能使用主机名。
  • dns反查,当ssh某个IP时,系统会试图通过DNS反查相对应的域名,如果DNS中没有这个IP的域名解析,则会等到DNS查询超时才会进行下一步,消耗很长时间。

转载请标明出处:
1.博客中标注原创的文章,版权归原作者 heardic 所有;
2.未经原作者允许不得转载本文内容,否则将视为侵权;
3.转载或者引用本文内容请注明来源及原作者;
4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

猜你喜欢

转载自blog.51cto.com/13906754/2595673