解決SSH自動斷線,無響應的問題。

在鏈接遠程SSH服務的時候,常常會發生長時間後的斷線,或者無響應(沒法再鍵盤輸入)。 vim

整體來講有兩個方法: 服務器

一、依賴ssh客戶端定時發送心跳。 ssh

putty、SecureCRT、XShell都有這個功能,可是目測不太好用。 測試

此外在Linux下: spa

 

1
2
3
4
5
#打開
sudo vim  / etc / ssh / ssh_config
# 添加
ServerAliveInterval 20
ServerAliveCountMax 999

即每隔20秒,向服務器發出一次心跳。若超過999次請求,都沒有發送成功,則會主動斷開與服務器端的鏈接。 vps

二、更一勞永逸的方法是:更改服務器端,即在ssh遠端。 rem

1
2
3
4
5
# 打開
sudo vim / etc / ssh / sshd_config
# 添加
ClientAliveInterval 30
ClientAliveCountMax 6

ClientAliveInterval表示每隔多少秒,服務器端向客戶端發送心跳,是的,你沒看錯。 it

下面的ClientAliveInterval表示上述多少次心跳無響應以後,會認爲Client已經斷開。 table

因此,總共容許無響應的時間是60*3=180秒。 import

上述配置後,我作了個簡單測試。鏈接米國的vps,打開ssh後,不作任何操做,目前已經維持鏈接3天整,沒有任何問題。中間還經歷了幾回短期斷網(幾十秒),都自動恢復了。

相關文章
相關標籤/搜索