近期一客戶網站需要升級部署幾個文件,于是熟悉的打開SSH準備連接修改,但是xshell一直提示Socket error Event: 32 Error: 10053,Telnet端口也不通。
![一次排查CentOS SSH報錯Socket error Event: 32 Error: 10053、FRP報錯[service.go:82] login to server failed: EOF EOF](http://www.gsmnysjzq.cn/wp-content/uploads/2022/03/2022030609513611.jpg)
之前為了保險,也部署了一個FRP服務,開啟FRP服務器端防火墻配置的SSH穿透端口,也無法連接,FRP服務端netstat -apn查看鏈接,沒發現任何和客戶端的鏈接,于是開啟了查錯之路。
搜索出Socket error Event: 32 Error: 10053這個問題解決方案大致有如下幾個:
1、服務器配置固定IP
2、取消SSH配置文件中 UseDNS yes
3、修改ClientAliveInterval的值
4、/etc/ssh/下文件權限問題
服務器之前一直配置固定IP,SSH配置文件也沒有修改過,所以前三項排除。
服務器上也有主機安全軟件,并且配置開的比較多,看到防護記錄是有很多(雖然都是誤報)。
![一次排查CentOS SSH報錯Socket error Event: 32 Error: 10053、FRP報錯[service.go:82] login to server failed: EOF EOF](http://www.gsmnysjzq.cn/wp-content/uploads/2022/03/2022030609513611.jpg)
嘗試關閉了防護軟件在SSH連接,依舊提示同樣錯誤。
修改/etc/ssh/的文件權限,重啟SSHD服務,遠程連接還是同樣錯誤。
猜想是不是主機破壞了SSH服務,但是系統本機查看端口、服務都是正常的,還是試試再說。
yum remove openssh*然后在yum install openssh*安裝,甚至系統都重啟一下,還是同樣報錯。
通過wireshark抓包如下,系統一直會有RST包,猜測是不是更改了上層防火墻或者其他安全設備策略問題導致。
![一次排查CentOS SSH報錯Socket error Event: 32 Error: 10053、FRP報錯[service.go:82] login to server failed: EOF EOF](http://www.gsmnysjzq.cn/wp-content/uploads/2022/03/2022030609513611.jpg)
問客戶最近是不是有什么設備改動,客戶說十多天前加了上網行為管理,最后進入上網行為管理后臺查看,攔截記錄赫然的擺在那里。
最后也找到一篇文章,https://blog.phpgao.com/frp_tcp_reset.html,是FRP被阻斷,印證了問題根源。如果FRP被阻斷,可以嘗試啟用TLS或者改用KCP協議試試。