ssh远程到目标主机报错:ssh_exchange_identification: read: Connection reset by peer 问题的处理
问题描述
通过ssh连接到目标主机,报错如下:
#ssh 10.192.121.202 ssh_exchange_identification: read: Connection reset by peer
问题分析
通过报错的信息可以看到,连接是被目标的主机给断了。
问题解决
在网上找了一些解决的方法,说是目标主机访问的限制:
查看主机上的访问限制文件 /etc/hosts.allow
#cat /etc/hosts.allow ALL: 31.10.152.54 10.91.23.176 #堡垒机ip ALL: 10.91.24.205 ALL: 10.91.16.73 #堡垒机ip
发现是没有相关ssh的允许的主机设置的。
查看/etc/hosts.deny文件,看限制
发现,是所有的主机都限制访问了。
所以,明白了,就是deny限制了所有的访问,allow文件,设置哪些IP可以访问。
所以,增加如下的配置:
vi /etc/hosts.allow
sshd:ALL
允许所有的IP访问sshd服务。
重启sshd服务
systemctl restart sshd
问题解决。
注意
/etc/hosts.allow 和 /etc/hosts.deny默认都是空的,表示没有任何的限制。
这两个文件是要配合来使用的。
如果要对/etc/hosts.allow进行设置
- 规则
<服务名称>: <允许访问的IP地址或主机名>
- 允许任何服务被任何IP访问
ALL:ALL
- 允许sshd被某些IP访问
sshd: 192.168.1.100, 192.168.1.101
多个IP之间用逗号隔开。
- 允许sshd服务被任意IP访问
sshd:ALL
如果要对/etc/hosts.deny进行设置
- 限制任何服务被任何IP访问
ALL:ALL