SSH登录ECS实例提示“ssh_exchange_identification: read: Connection reset by peer”错误

本文介绍了通过SSH登录ECS实例提示“ssh_exchange_identification: read: Connection reset by peer”错误的处理方法。

问题描述

通过SSH登录ECS实例时,即便用户名及密码正确,也出现了如下错误信息。

ssh_exchange_identification: read: Connection reset by peer.
sshd[11949]: refused connect from 192.168.0.0 (192.168.0.0).

问题原因

  • TCP Wrapper的文件配置不正确:TCP Wrapper是Linux系统中的标准安全框架,用于控制应用程序的访问。其守护进程tcpd通过读取/etc/hosts.allow/etc/hosts.deny两个文件中的相关配置,决定是否允许进行TCP连接。Linux系统通过设置/etc/hosts.allow/etc/hosts.deny文件,启用了TCP Wrapper访问控制,禁止您通过SSH登录。

  • 连接被云安全中心拦截。

  • 本地网络问题。

解决方案

本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它版本的操作系统的配置可能有所差异,具体情况请参考相应操作系统的官方文档。

方式一:编辑TCP Wrapper的文件

参考以下步骤,通过修改配置文件动态设置访问策略,修改后无需重启服务器使配置生效。

  1. 通过VNC登录实例,详情请参见通过密码认证登录Linux实例

  2. 通过cat命令查看/etc/hosts.allow/etc/hosts.deny文件中,是否包含类似如下配置。

    all:all:deny
  3. 修改/etc/hosts.allow/etc/hosts.deny文件中的相关配置,将整行删除或着添加注释,如下所示。

    说明

    如果需要修改相关策略配置,请将文件提前创建快照完成备份。

    # all:all:deny

方式二:连接被云安全中心拦截

  1. 访问淘宝IP地址库,查看并记录您本地的IP地址。

  2. 登录IP白名单页面,在页面右侧单击添加

  3. 进入添加页面,选择对应的对象类型,在源IP输入框中填写上一步记录的本地IP地址,然后在下方选择目标实例对象。再单击确定即可。

说明

若你的ECS实例使用的是EIP,对象类型需要选择弹性公网EIP(含NAT)

方式三:本地网络问题

请使用其他网络环境测试网络是否连接正常,例如手机4G网络,查看是否可以正常登录。

相关文档

您还可以查看云服务器ECS Linux SSH无法远程登录问题排查指引,参考更多有关ECS实例无法登录的问题做进一步的排查分析。

阿里云首页 云服务器 ECS 相关技术圈