問題描述
xshell 去鏈接測試服務(wù)器,出現(xiàn)提示:Connection closed by foreign host,斷開主機(jī)鏈接了,出現(xiàn)這種問題,一般是之前鏈接上用過,但是再次鏈接突然就報錯了,這種一般跟防火墻沒什么關(guān)系(也可能有防火墻的問題(建議排查下)),
產(chǎn)生原因
當(dāng)你的客戶端突然斷開時,服務(wù)器端的TCP連接就處于一個半打開狀態(tài)。當(dāng)下一次同一客戶機(jī)再次建立 TCP連接時,服務(wù)器檢測到這個半打開的TCP連接,并向客戶機(jī)回傳一個置位RST的TCP報文,客戶機(jī)就會顯示connection closed by foreign host。
我這里出現(xiàn)這個情況的原因, 是因為客戶修改了ssh遠(yuǎn)程端口后, 沒有重啟ssh 服務(wù),此時原來的遠(yuǎn)程端口是可以通信的, 但是無法建立新的ssh 連接, 但是這個時候用新端口就可以ssh 連接。
客戶修改端口后忘記了, 所以通過VNC進(jìn)系統(tǒng)后, vi /etc/ssh/sshd_config 就可以查看到當(dāng)前的端口是多少。
解決方案
第一種因為防火墻解決方案就是排查防火墻了,我遇到的不是這個原因。
第二種因為TCP連接的解決方案:看下服務(wù)器的地址,在服務(wù)器上kill下端口或者重啟下服務(wù)器,(我測試服務(wù)器沒啥東西,選擇了重啟)