問題描述
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下端口或者重啟下服務器,(我測試服務器沒啥東西,選擇了重啟)