SSH超時自動斷開問題解決
通過修改/etc/ssh/sshd_config中的配置解決自動斷開的問題。下面是要修改的兩個配置項的含義:
“ClientAliveInterval指定了伺服器端向客戶端請求訊息的時間間隔, 預設是0, 不傳送.而ClientAliveInterval 60表示每分鐘傳送一次, 然後客戶端響應, 這樣就保持長連線了.這裡比較怪的地方是:不是客戶端主動發起保持連線的請求(如FTerm, CTerm等),而是需要伺服器先主動。
另外,至於ClientAliveCountMax, 使用預設值3即可.ClientAliveCountMax表示伺服器發出請求後客戶端沒有響應的次數達到一定值, 就自動斷開。正常情況下, 客戶端不會不響應。“
1 檢視當前配置
grep"ClientAlive" sshd_config
#ClientAliveInterval0
#ClientAliveCountMax3
2 備份原檔案
cp sshd_configsshd_config.bak
3 修改配置檔案
sed-i "s/#ClientAliveInterval 0/ClientAliveInterval 60/g" sshd_config
sed -i "s/#ClientAliveCountMax3/ClientAliveCountMax 3/g" sshd_config
4 驗證修改結果
grep"ClientAlive" sshd_config
diff sshd_configsshd_config.bak
5 重啟服務
service sshdrestart
現在無論空閒多久,SSH客戶端都不會自動斷開了。
參考資料
如何避免SSH Secure Shell Client連線Linux超時,自動斷開? http://www.linuxidc.com/Linux/2013-02/79940.htm
SSH 連線超時(ssh timeout) 解決辦法 http://www.linuxidc.com/Linux/2013-02/79941.htm