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