
我有一個 CentOS 伺服器,我可以從 Windows 筆記型電腦透過 SSH 存取它,可以使用 Putty 手動訪問,也可以使用 Python Fabric 模組以程式設計方式存取。
有時,在一段時間不活動後,連線會關閉。
我的主要問題是何時/為什麼?指示何時關閉 SSH 連線的設定在哪裡?如果沒有設置,預設值是多少?我只是想了解我的連接已關閉的邏輯...有時它似乎允許連接在超過 12 小時不活動的情況下保持打開狀態,而其他時候它似乎在大約 30 分鐘後關閉連接不活動。
第二個問題是是否有某種方法可以讓 Putty 保持開啟。現在 Putty 只是告訴我連接已關閉並讓我關閉視窗。有什麼方法可以讓 Putty 重新啟動連線而不需要我關閉視窗並手動重新登入嗎?
答案1
您可能已經設定了ClientAliveCountMax 0
一些ClientAliveInterval
選項sshd_config
(或使用了一些預設值)。
將這些值設為非零值應該允許伺服器發送保持活動訊息,以驗證客戶端是否仍在回應。
客戶端上應該有類似的選項(在 openssh 中稱為)ServerAliveCountMax
和ServerAliveInterval
)。
使用客戶端選項也可能會導致此行為,TCPKeepAlive
並且在伺服器上也是如此,但預設此功能是開啟的。