Ssh
如何自動關閉斷開的 SSH 連接?
當我在我的伺服器上遠端工作時,有時我的 SSH 連接會由於網路問題而中斷。當我重新連接到我的伺服器時,丟棄的會話保持打開狀態。我跑的時候能看到他們
w
。我知道我可以使用他們的 PID 殺死他們,但如果可能的話,我想自動殺死丟棄的會話。
我怎樣才能做到這一點?
啟用 SSH keepalive 消息之一,例如通過啟用
TCPKeepAlive
或ClientAliveInterval
在伺服器的 sshd 配置中。同樣,在客戶端配置中,您可以使用
TCPKeepAlive
andServerAliveInterval
。
TCPKeepAlive``KeepAlive
如果你有舊版本的 OpenSSH,以前只是。TCP keepalives 是 TCP 的一部分,在 SSH 建構的加密隧道之外執行。因此,例如,有人可以欺騙他們,假裝連接仍然打開,而實際上連接沒有打開。
ClientAlive/ServerAlive 在加密隧道內執行,因此無法被欺騙(但我相信這是一個新選項,當然會花費更多 CPU 時間)。