Ssh

儘管 TMUX 會話處於活動狀態,為什麼我的遠端連接停止工作?

  • December 6, 2020

我現在才使用 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 伺服器預設配置為丟棄一段時間未發送或接收任何數據的連接。假設客戶端死亡或連接斷開。

你可以通過執行一些保持流量流動的東西來防止這種情況,比如topor cmatrix。SSH 協議中包含一種保持連接活動的不那麼駭人聽聞的方式。將以下內容添加到您的~/.ssh/config文件中:

Host *
   ServerAliveInterval 10
   ServerAliveCountMax 12

ServerAliveCountMax如果您的網路連接非常不穩定,請增加該值。

引用自:https://unix.stackexchange.com/questions/622631