ssh服务突然连接不了案例总结

 

一台Oracle数据库服务器(Linux版本为Oracle Linux Server release 5.7)今天中午突然出现短暂的ssh连接不上的情况,ssh连接不上的时候,ping服务器正常,使用psping检测端口22也是正常(只返回5个包,没有持续ping),使用SQL Developer可以登录数据库进行任何操作,另外,通过DPA工具发现该服务器的CPU等资源消耗很低(发现数据库服务都正常后,就出去吃饭了),回来时,同事反馈ssh已经正常,错过诊断的大好时机,期间另外一个同事也做了一些检查:

检测发现ping正常,但是psping检测8088端口发现网络时延很长,甚至出现超时。他做了一个截图对比,如下所示.

ping是一个网络层的协议,只是表明网络在3层是通的;tomcat是应用层协议

吃饭回来后,发现ssh已经可以正常登录服务器,检查发现这个进程已经运行了二百多天了,那么也就是说sshd服务没有死掉,sshd服务也没有重启过。

使用ps -ef | grep sshd 找到sshd的进程,执行下面命令

[root@mylnx01 ~]# ps -eo pid,lstart,etime | grep 3423

 

 3423 Sun Feb 18 13:56:11 2018 234-09:01:48

检查日志信息,发现里面有几条 Did not receive identification string from xxx的信息(部分信息做了脱敏处理)。

[root@mylnx01 log]# tail -100 /var/log/secure

Oct  8 14:50:48 mylnx01 sshd[4341]: pam_unix(sshd:session): session opened for user oracle by (uid=0)

Oct  8 14:50:49 mylnx01 sshd[4341]: pam_unix(sshd:session): session closed for user oracle

Oct 10 12:26:41 mylnx01 sshd[742]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[743]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[790]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[789]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[745]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[744]: Did not receive identification string from 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[1007]: Connection closed by 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[1006]: Connection closed by 192.168.xxx.xxx

Oct 10 12:26:41 mylnx01 sshd[746]: Did not receive identification string from 192.168.xxx.xxx

搜索了一下这个错误的相关资料,一般出现错误是因为:

This one below means ssh server waited and did not receive what it needed in a timely fashion. This is typically due to connectivity issues. In an ssh connection, the server first provides its identification string, then waits for the client to then provide its identification string. If there is a loss in connection, or the client just bails, this is what you will see in the logs.
If someone uses telnet or netcat to fetch your ssh banner, or other various scans, the logs on the server side will show this as well.

这个错误信息意味着ssh服务由于没有及时收到它所需要的东西,而出现等待现象。 通常是由于连接问题造成。 在ssh连接中,服务器首先提供其标识字符串,然后等待客户端提供其标识字符串。 如果连接丢失,或者客户端刚刚退出,就会出现日志中所看到的内容。

虽然怀疑是路由问题,但是个人手头缺少网络监控方面的详实证据,但是也有一些佐证的证据:最近两地网络问题蛮多,前天还发现网络掉包比较严重,网络管理员找供应商反馈过,但是后面也不清楚什么情况。因为这方面的事情不归我处理。

对于ssh连接不了的排错,其实有不少系统的排查方法,下面这三篇博客非常精彩,此处就不班门弄斧,有兴趣的可以直接看看这些文章。

https://note.t4x.org/other/didnot-receive-identification-string-from/

https://www.centos.bz/2017/08/ssh-connect-failed-solve-experience/

https://scottlinux.com/2012/03/07/troubleshooting-ssh-server-logs-and-error-messages/

ssh服务突然连接不了案例总结的更多相关文章

  1. 解决kali linux 开启ssh服务后连接不上的问题

    今天在手机端装了NetHunter 想连接PC的kali ,可是怎么都连不上 综合网友的经验: 1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config 将#Pass ...

  2. 【控制连接实现信息共享---linux和设备下ssh和远程连接telnet服务的简单搭建】

    SSH的配置 空密码登陆ssh server 如果要登录ssh server通常要在server和client之间采取具有共同加密的秘钥,若每次当client想要了:连接ssh server时都要手工 ...

  3. SSH服务连接

    SSH基本概述 SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输.确保了数据传输安全. SSH服务 ssh: secure shell, protocol, 22/ ...

  4. ssh服务、密钥登陆配置

    环境内核信息: [root@zabbix-01 ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:2 ...

  5. docker基于commit命令创建支持ssh服务的镜像

    以centos为基础,目的使用ssh服务远程连接docker容器. 环境:宿主机centos7(宿主机ip地址为192.168.164.130),直接搜索docker的centos镜像,下载最新版本. ...

  6. Security基础(一):Linux基本防护措施、使用sudo分配管理权限、提高SSH服务安全

    一.Linux基本防护措施 目标: 本案例要求练习Linux系统的基本防护措施,完成以下任务: 修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录) 锁定用户lisi的账户 ...

  7. Cygwin ssh服务配置 (SecureCRT连接Cygwin配置)

    1.运行ssh-host-config 这里需要注意的是标红部分,输入的用户名或密码要符合计算机的用户名或密码策略(尤其是公司有权限限制的电脑). $ ssh-host-config *** Quer ...

  8. windows上SSH服务连接远程主机失败

    putty连接出现错误提示"Network error:connection refused",xshell连接出现错误提示"connection failed:(por ...

  9. centos7的ssh服务连接

    ---恢复内容开始--- SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是 ...

随机推荐

  1. [Swift]LeetCode721. 账户合并 | Accounts Merge

    Given a list accounts, each element accounts[i] is a list of strings, where the first element accoun ...

  2. js使用面向对象编写下拉菜单

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. AutoFac - 将 autofac 应用于MVC多层项目

    一.前言 AutoFac是.NET平台下的一款著名的IoC Container,它可以让我们很轻松的解除项目中服务类的接口与客户类的接口实现类之间的依赖关系,从而降低系统各模块之间耦合程度以提高系统的 ...

  4. 【java设计模式】(5)---装饰者模式(案例解析)

    设计模式之装饰者模式 一.概念 1.什么是装饰者模式 装饰模式是在不使用继承和不改变原类文件的情况下,动态的扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.    这一个解释 ...

  5. java基础(十二 )-----Java泛型详解

    本文对java的泛型的概念和使用做了详尽的介绍. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”.一提到 ...

  6. Asp.Net SignalR Hub集线器

    集线器Hub类 使用持久连接类去开发是有些困难的,因为基于事件的开发方式,我们可以进行操作的地方也仅仅只是OnReceived事件内,这有些像websocket的方式.我们迫切的需要一种更人性化,更为 ...

  7. spring框架应用系列二:component-scan自动扫描注册装配

    component-scan自动扫描注册装配 本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7717331.html ...

  8. 【Java资源免费分享,网盘自己拿】

    JavaSE: Java马士兵:链接:https://pan.baidu.com/s/1jJRvxGi密码:v3xb Java毕向东:链接:https://pan.baidu.com/s/1ggzHk ...

  9. LeetCode专题-Python实现之第7题:Reverse Integer

    导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...

  10. 阿里云ACE共创空间——MQ消息队列产品测试

    一.产品背景消息队列是阿里巴巴集团自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息订阅和发布.消息轨迹查询.定时(延时)消息.资源统计.监控报警等一系列消息云服务,是企业级互联网架构 ...