SSH 何時/為何關閉連線?

SSH 何時/為何關閉連線?

我有一個 CentOS 伺服器,我可以從 Windows 筆記型電腦透過 SSH 存取它,可以使用 Putty 手動訪問,也可以使用 Python Fabric 模組以程式設計方式存取。

有時,在一段時間不活動後,連線會關閉。

我的主要問題是何時/為什麼?指示何時關閉 SSH 連線的設定在哪裡?如果沒有設置,預設值是多少?我只是想了解我的連接已關閉的邏輯...有時它似乎允許連接在超過 12 小時不活動的情況下保持打開狀態,而其他時候它似乎在大約 30 分鐘後關閉連接不活動。

第二個問題是是否有某種方法可以讓 Putty 保持開啟。現在 Putty 只是告訴我連接已關閉並讓我關閉視窗。有什麼方法可以讓 Putty 重新啟動連線而不需要我關閉視窗並手動重新登入嗎?

答案1

您可能已經設定了ClientAliveCountMax 0一些ClientAliveInterval選項sshd_config(或使用了一些預設值)。

將這些值設為非零值應該允許伺服器發送保持活動訊息,以驗證客戶端是否仍在回應。

客戶端上應該有類似的選項(在 openssh 中稱為)ServerAliveCountMaxServerAliveInterval)。

使用客戶端選項也可能會導致此行為,TCPKeepAlive並且在伺服器上也是如此,但預設此功能是開啟的。

相關內容