Ssh
SSH 連接 - 一段時間後我無法輸入任何內容
這一直發生在我連接到的任何伺服器上。我輸入:
ssh user@server
我登錄,一切工作幾分鐘。但過了一段時間,可能當我切換到其他程序(瀏覽器、ftp 客戶端等)時,當我嘗試在終端中輸入任何內容時,游標在我輸入時停止閃爍,但實際上沒有輸入任何內容。我無法執行任何命令,我所能做的就是關閉終端視窗,重新打開它並重新連接。
如果它很重要,我在我的本地機器上執行 Ubuntu 12.04。
您的客戶端和伺服器之間有一個 NAT 路由器或類似的狀態防火牆。當您打開 TCP 會話時,防火牆會記住在您的客戶端埠和伺服器埠之間創建了一個 TCP 連接。只要防火牆記住了連接,它就會繼續在客戶端和伺服器之間傳遞數據包。
會話“中斷”是因為防火牆忘記了連接並停止傳遞數據包。防火牆可能會忘記連接,因為它有空閒連接超時。或者它可能會忘記,因為它的記憶體量有限,並且正在創建太多的新連接,以至於它無法記住所有這些連接。
ssh
有一些選項可以通過在連接空閒時發送定期“保持活動”數據包來解決此問題。查看TCPKeepAlive
、ServerAliveInterval
和ServerAliveCountMax
選項。