Ssh
儘管 TMUX 會話處於活動狀態,為什麼我的遠端連接停止工作?
我現在才使用 Linux 幾個月,而且我還是個初學者,所以如果我使用了不正確的術語,我深表歉意。我正在執行 Arch,遠端機器在 Manjaro 上。
我一直在研究部門的一台機器上進行實驗,通過 ssh(通過隧道代理)遠端連接。在執行我的程式碼之前,我啟動一個 TMUX 會話並進入我需要的 conda 環境。執行我的程式碼後,我從 TMUX 會話中分離出來,並偶爾檢查一下。我已經這樣做了幾個月,並且可以毫無問題地執行程式碼幾天。
然而,在過去的幾天裡,在 20-40 分鐘後,我與以下消息斷開連接:
Connection to exampleserver.com closed by remote host. Connection to exampleserver.com closed.
每次都會發生這種情況。我不確定是什麼原因造成的。我問了我部門負責機器的人,他告訴我在我的 ssh 配置中調整 ServerAliveInterval。TMUX 不應該照看我的會話嗎?什麼可以阻止它不再阻止會話斷開連接?
任何幫助,將不勝感激!不幸的是,如果不能訪問這台機器,我就無法真正工作。
通常,SSH 伺服器預設配置為丟棄一段時間未發送或接收任何數據的連接。假設客戶端死亡或連接斷開。
你可以通過執行一些保持流量流動的東西來防止這種情況,比如
top
orcmatrix
。SSH 協議中包含一種保持連接活動的不那麼駭人聽聞的方式。將以下內容添加到您的~/.ssh/config
文件中:Host * ServerAliveInterval 10 ServerAliveCountMax 12
ServerAliveCountMax
如果您的網路連接非常不穩定,請增加該值。