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的文件:
    Linux系统通过设置/etc/hosts.allow/etc/hosts.deny文件,启用了TCP Wrapper访问控制,禁止您通过SSH登录。
  • 连接被云盾拦截。
  • 本地网络问题。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

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

  1. 编辑TCP Wrapper的文件:
    可以参考以下步骤,通过修改配置文件动态设置访问策略,修改后无需重启服务器使配置生效。
    1. 通过VNC登录实例,详情请参见管理终端
    2. 通过cat命令查看/etc/hosts.allow/etc/hosts.deny文件中,是否包含类似如下配置。
      all:all:deny
    3. 修改/etc/hosts.allow/etc/hosts.deny文件中的相关配置,将整行删除或着添加注释,如下所示。
      说明:如果需要修改相关策略配置,请将文件进行备份。
      # all:all:deny
  2. 连接被云盾拦截:
    1. 访问淘宝IP地址库,查看并记录您本地的IP地址。
    2. 登录IP白名单页面,选择目标对象类型,然后在下方选择目标实例对象。在源IP输入框中填写上一步记录的本地IP地址,再单击确定即可。
      说明:若你的ECS实例使用的是EIP,对象类型需要选择弹性公网EIP(含NAT)
  3. 本地网络问题:
    请使用其他网络环境测试是否连接正常,例如手机4G网络,查看是否可以正常登录。

更多信息

TCP Wrapper是Linux系统中的一个通用的标准安全框架。其作用类似于IPTABLES, 用于控制从inetd启动的基于TCP的应用程序的访问。其守护进程是tcpd, 通过读取如下两个文件中的相关策略配置,决定允许还是拒绝到达的TCP连接。配置规则时,先配置hosts.allow规则,然后再配置hosts.deny规则。一般的做法是hosts.allow中配置信任主机规则,然后到hosts.deny中拒绝所有其他主机。

/etc/hosts.allow
/etc/hosts.deny

说明:如果想了解更多关于TCP Wrapper的说明,请参见TCP Wrapper

相关文档

您还可以结合如下文档,参考更多有关ECS实例无法登录的问题做进一步的排查分析。

适用于

  • 云服务器ECS