问题描述
使用SSH登录ECS实例时,即便正确输入了密码,也会出现类似如下错误信息。
ssh_exchange_identification: read: Connection reset by peer. sshd[11949]: refused connect from 192.168.0.0 (192.168.0.0).
问题原因
Linux系统通过设置/etc/hosts.allow
或/etc/hosts.deny
文件,启用了TCP Wrapper访问控制。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
可以参考以下步骤,通过修改配置文件动态设置访问策略,无需重启服务器使配置生效。应用规则时,先应用hosts.allow规则,然后再应用hosts.deny规则。一般的做法是hosts.allow中配置信任主机规则,然后到hosts.deny中拒绝所有其他主机。
注:本文相关Linux配置及说明已在CentOS 6.5 64位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。
- 通过管理终端进入系统。
- 通过
cat
命令查看/etc/hosts.allow
和/etc/hosts.deny
文件中,是否包含类似如下配置。all:all:deny
- 如果需要修改相关策略配置,请将文件进行备份。
- 使用vi等编辑器,修改
/etc/hosts.allow
和/etc/hosts.deny
文件中的相关配置,将整行删除或着添加注释,如下所示。# all:all:deny
- 再次尝试登录服务器。
更多信息
TCP Wrapper是Linux系统中的一个通用的标准安全框架。其作用类似于IPTABLES, 用于控制从inetd启动的基于TCP的应用程序的访问。其守护进程是tcpd, 通过读取如下两个文件中的相关策略配置,决定允许还是拒绝到达的TCP连接。
/etc/hosts.allow /etc/hosts.deny