避免SSH連接因超時閑置斷開

此頁由 Linux Wiki使用者Chenxing 於 2012年2月5日 (星期日) 03:14 的最後更改。

出自Linux Wiki

提示:此文已超过 12 年(4466 天)未更新,如发现内容过时或有误,欢迎改进:)

SSH過程連接電腦時,經常遇到長時間不操作而被伺服器踢出的情況,常見的提示如:

Write failed: Broken pipe

這是因為如果有一段時間在SSH連接上無數據傳輸,連接就會斷開。解決此問題有兩種方法。[1]

方案一:在客戶端設置

方法很簡單,只需在客戶端電腦上編輯(需要root許可權)/etc/ssh/ssh_config,並添加如下一行:

ServerAliveInterval 60

此後該系統里的用戶連接SSH時,每60秒會發一個KeepAlive請求,避免被踢。

方案二:在伺服器端設置

如果有相應的許可權,也可以在伺服器端設置,即編輯/etc/ssh/sshd_config,並添加:

ClientAliveInterval 60

重啟SSH伺服器後該項設置會生效。每一個連接到此伺服器上的客戶端都會受其影響。應注意啟用該功能後,安全性會有一定下降(比如忘記登出時……)

參考資料

  1. How to fix ssh timeout problems(英)

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换