问题描述
xshell 去链接测试服务器,出现提示:Connection closed by foreign host,断开主机链接了,出现这种问题,一般是之前链接上用过,但是再次链接突然就报错了,这种一般跟防火墙没什么关系(也可能有防火墙的问题(建议排查下)),
产生原因
当你的客户端突然断开时,服务器端的TCP连接就处于一个半打开状态。当下一次同一客户机再次建立 TCP连接时,服务器检测到这个半打开的TCP连接,并向客户机回传一个置位RST的TCP报文,客户机就会显示connection closed by foreign host。
我这里出现这个情况的原因, 是因为客户修改了SSH远程端口后, 没有重启ssh 服务,此时原来的远程端口是可以通信的, 但是无法建立新的ssh 连接, 但是这个时候用新端口就可以ssh 连接。
客户修改端口后忘记了, 所以通过VNC进系统后, vi /etc/ssh/sshd_config 就可以查看到当前的端口是多少。
解决方案
第一种因为防火墙解决方案就是排查防火墙了,我遇到的不是这个原因。
第二种因为TCP连接的解决方案:看下服务器的地址,在服务器上kill下端口或者重启下服务器,(我测试服务器没啥东西,选择了重启)