如何修复ssh_exchange_identification read Connection reset by peer错误?
简介
安全外壳 (SSH) 是一种用于安全网络通信的协议。SSH 对于各种规模的组织都至关重要,因为它提供了对跨越不安全网络的服务器和计算机的安全远程访问。
凭借其加密数据的能力,SSH 确保在两个端点之间交换的信息保持机密,即使数据通过互联网等公共网络传输也是如此。与其他以明文传输数据(使其容易受到拦截或窃听攻击)的协议(如 Telnet 和 FTP)相比,SSH 已成为大多数系统管理员远程访问其服务器的事实标准。
因此,务必使您的 SSH 服务器保持最新安全补丁和配置。这也意味着 SSH 连接上的任何错误或连接问题都需要立即解决。
了解错误
在使用 SSH 时,可能会遇到一个常见的错误,这可能会导致沮丧和困惑:ssh_exchange_identification read Connection reset by peer 错误。此错误消息表明您的客户端和服务器之间的 SSH 连接存在问题,并且可能会阻止您访问服务器或远程运行命令。了解此错误消息及其潜在原因对于快速解决问题至关重要。
ssh_exchange_identification read Connection reset by peer 错误的定义
ssh_exchange_identification read Connection reset by peer 错误通常发生在您尝试建立到远程服务器的 SSH 连接时。“ssh_exchange_identification”指的是客户端和服务器在初始连接设置期间交换识别信息的过程。
此错误消息中的“Connection reset by peer”部分表示服务器在尝试识别自身时突然结束或终止了连接,而没有发送任何识别信息。
错误原因
网络问题
在某些情况下,网络连接问题会导致此类错误。例如,如果存在高网络流量或不稳定性导致数据包丢失或延迟,则 SSH 连接可能会受到影响。此外,如果您从代理或路由器后面连接,而这些代理或路由器不允许传出 SSH 流量,那么您将无法与远程服务器建立 SSH 连接。
防火墙限制
如果您的远程服务器启用了防火墙限制,这些限制会阻止某些端口(通常是端口 22)上的传入 SSH 流量,那么您将无法与之建立 SSH 连接。请确保任何正在使用的防火墙都已正确配置以允许这些所需端口上的传入和传出 SSH 流量。
SSH 配置错误
ssh_exchange_identification read Connection reset by peer 错误也可能是由不正确的 SSH 配置设置引起的。如果 SSH 服务器未正确配置以允许来自您的 IP 地址的传入连接,或者 SSH 客户端配置为使用错误的身份验证凭据,则可能会发生这种情况。
另一个潜在的 SSH 配置错误原因是客户端和服务器上使用的加密算法不匹配。如果这些不匹配,可能会导致握手失败,进而导致 ssh_exchange_identification read Connection reset by peer 错误。
解决错误的故障排除步骤
修复 ssh_exchange_identification read Connection reset by peer 错误的分步指南
遇到 ssh_exchange_identification read Connection reset by peer 错误时,必须遵循系统的故障排除方法。以下是修复此错误的分步说明 -
检查网络连接 - 在大多数情况下,错误是由于网络连接不良引起的。因此,务必验证两个设备是否可以相互通信。
要检查连接,请从一个设备 ping 到另一个设备,并确保没有数据包丢失。
暂时禁用防火墙 - 如果您已验证没有网络问题,请暂时禁用防火墙并尝试再次连接。
防火墙可能会阻止 SSH 连接或导致设备之间通信干扰。
验证 SSH 配置设置 - 必须检查您的 SSH 配置设置是否与服务器端匹配,因为错误配置可能是此错误的原因。
检查网络连接
如前所述,连接弱或失败会导致 ssh_exchange_identification read Connection reset by peer 错误。检查网络连接相对简单,因为它涉及从一个设备的命令提示符或终端窗口 ping 并验证数据包是否已成功传送且没有任何数据包丢失。
要使用 Windows 操作系统中的命令提示符窗口 ping 您的设备 -
单击“开始”
在搜索框中键入“cmd”
右键单击“命令提示符”并选择“以管理员身份运行”
键入“ping ”并按 Enter 替换“”为要测试连接的另一个设备的 IP 地址或主机名。
如果成功,您应该会看到一条消息,指示已成功收到回复(没有数据包丢失)。如果失败,请使用您的 IT 团队或互联网搜索提供的其他可用资源进一步进行故障排除!
暂时禁用防火墙
防火墙可能会导致两个设备之间通信干扰或完全阻止 SSH 连接。假设故障排除过程确定网络连接不是错误的原因。在这种情况下,可能需要暂时禁用防火墙并尝试再次连接。
要在 Windows 10 操作系统上禁用防火墙 -
单击“开始”
在搜索框中键入“Windows 安全”
单击“Windows 安全”并选择“防火墙和网络保护”。
通过在“防火墙”下选择“关闭”来暂时关闭防火墙。
完成后,尝试再次连接,看看是否是防火墙导致了 ssh_exchange_identification read Connection reset by peer 错误!
持续错误的高级修复
使用 SSH 客户端启用详细模式进行故障排除
如果第 III 部分中的基本故障排除步骤无法解决问题,则可能需要使用更高级的技术来诊断和解决问题。其中一项技术是在 SSH 客户端上启用详细模式。详细模式提供了有关 SSH 连接过程的详细信息,这有助于查明错误发生的位置和原因。
要启用详细模式,请在通过 SSH 连接到远程服务器时添加 -v 选项。例如 -
ssh -v username@remote_host.com
这将导致 SSH 客户端在连接建立期间显示其操作的详细日志。日志可能包含提供有关导致 ssh_exchange_identification read Connection reset by peer 错误原因的线索的错误消息。
确定可能的原因后,您可以尝试相应地调整设置或参数。如果您无法识别特定原因,请继续修改服务器端设置。
修改服务器端设置以修复持续错误
如果详细模式未提供足够的信息,或者您无法通过其他方法解决持续错误,则可能需要修改服务器端设置。一种常见的策略是在远程服务器上禁用反向 DNS 查询。
反向 DNS 查询是在 SSH 连接尝试通过查找与域名关联的 IP 地址来验证主机身份时发生的。但是,如果此过程由于网络延迟或其他因素而失败或花费的时间过长,则会导致 ssh_exchange_identification read Connection reset by peer 错误。
要在 OpenSSH 服务器(最常见的类型)中禁用反向 DNS 查询,请在 /etc/ssh/sshd_config 文件中添加“UseDNS no”行并重新启动 sshd 服务。另一种策略涉及增加 SSH 连接任一端上的各种超时值 - 例如,调整服务器的 TCP 保活设置或修改客户端的 ConnectionTimeout 参数。
结论
本文讨论了 ssh_exchange_identification read Connection reset by peer 错误,这是一个 SSH 连接过程中常见的错误。我们探讨了导致此错误的原因以及解决此错误的故障排除步骤。其原因可能从网络问题到不正确的 SSH 配置设置不等。