ssh异常报错:Did not receive identification string from

2024-01-27 04:20

本文主要是介绍ssh异常报错:Did not receive identification string from,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题描述

某次外出在异地工作场所xshell炼乳远程服务器时,报错:Connection closed by foreign host.
D,服务器查看secure日志或sshd服务状态会显示:id not receive identification string from client_ip;

在这里插入图片描述

二、分析处理

1)因是云主机,加安全组白名单后,ping server是可通的;telnet和ssh结果一样,被远端断开;

2)tcpdump抓包结果如下:显示服务端没有回包,client多次尝试请求,关闭防火墙无效,非防火墙原因所致

在这里插入图片描述
其中:

103.35.105.149.17549>localhost.22: Flags [S],cksum 0xfc6f (correct),seq 3280124262,win 64240,options [mss 1460,nop,
wscale 8, nop ,nop,sackOk],length 0
这是客户端发送的 SYN 报文。SYN 报文用于启动 TCP 连接。此行显示了 SYN 报文的详细信息,包括源 IP 地址、源端口、目标 IP 地址、目标端口、序列号、窗口大小和选项。

103.35.105.149.17549>localhost.22:Flags [.], cksum 0x8bda (correct),seq 3280124263,ack 817658252,win 513,length 0
此行显示了 ACK 报文的详细信息,用于确认已收到 SYN 报文,包括源 IP 地址、源端口、目标 IP 地址、目标端口、序列号、确认号、窗口大小和长度。

103.35.105.149.17549>localhost.22: Flags [R.], cksum 0x8cdd (correct),seq 0, ack 22, win 229, length 0
此行显示了 RST 报文的详细信息,RST 报文用于重置 TCP 连接,包括源 IP 地址、源端口、目标 IP 地址、目标端口、序列号、确认号、窗口大小和长度。

综上,由于服务器没有发送 SYN-ACK 报文,因此 TCP 连接没有建立成功。这可能是由于服务器上的 SSH 服务未运行、未监听默认端口、被防火墙阻止或配置不正确造成的。

关闭防火墙iptables,效果未有任何改善,抓包结果同上:

在这里插入图片描述
netstat -s |egrep -e SYNs -e “time stamp” #看看有没有因为时间戳丢弃syn包的情况,显示如下:

在这里插入图片描述
因tcp_tw_recycle参数在nat环境下,触发了linux的paws机制会导致丢包,可执行:sysctl -a |egrep -e tcp_tw_recycle -e tcp_timestamps查看。异常情况会显示如下:
在这里插入图片描述

3)从4A管理页面测试报如下:非本次原因,但验证了密码问题也会导致报上述错误

在这里插入图片描述
在这里插入图片描述
上图中的,“device eth0 entered /left promiscuous mode” ,指eth0网卡进入/退出了混杂模式。混杂模式是网卡的一种工作模式,一般在抓取网卡数据包时使用。系统日志里出现这个日志信息,说明在服务器上对网卡进行过抓包的操作,tcpdump抓包命令会产生这个日志信息。也可以使用命令:ifconfig eth0 promisc来启用,ifconfig eth0 -promisc来取消;

4)查看端口监听:未见异常

netstat -ta --numeric-ports --program | grep 22

5)更换网络环境,再次测试:正常;综上,本次故障为第一个工作网络环境中受限导致。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

附录:

在这里插入图片描述

这篇关于ssh异常报错:Did not receive identification string from的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/649049

相关文章

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

java String.join()方法实例详解

《javaString.join()方法实例详解》String.join()是Java提供的一个实用方法,用于将多个字符串按照指定的分隔符连接成一个字符串,这一方法是Java8中引入的,极大地简化了... 目录bVARxMJava String.join() 方法详解1. 方法定义2. 基本用法2.1 拼接

Java空指针异常NullPointerException的原因与解决方案

《Java空指针异常NullPointerException的原因与解决方案》在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或... 目录一、空指针异常产生的原因1. 变量未初始化2. 对象引用被显式置为null3. 方法返回null

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno