ssh远程到目标主机报错:ssh_exchange_identification: read: Connection reset by peer 问题的处理

发布时间 2023-12-19 11:43:41作者: Zhai_David

问题描述

 

通过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