SSH 連線在不活動一段時間後輸出較大後凍結

SSH 連線在不活動一段時間後輸出較大後凍結

當閒置一段時間後再次使用 SSH 會話後,我遇到了 SSH 會話凍結的問題。

問題是會話不會立即凍結,我仍然可以使用它。但是,一旦命令發送更多數據,它就會在任何輸出到達之前凍結,我必須重新啟動終端。

如果已閱讀有關 MTU 的早期解決方案,但是會話每次都會凍結。在這裡,只有在一段時間不活動之後才會發生這種情況。

ServerAliveInterval 120請注意,我已經在 .ssh/ssh_config 中設定

關於如何解決這個問題有任何線索嗎?

答案1

改成~/.ssh/ssh_config~/.ssh/config確保其權限為700。

討論有很多好資訊。您也可以按照標籤ssh(只需點擊問題下的 /ssh)轉至標籤維基獲取更多資訊和故障排除指導。

答案2

建議:

  • 嘗試在命令列上設定ServerAliveIntervalServerAliveCountMax和選項,而不是通過,以排除讀取設定時出現問題。也許應該直接調用?TCPKeepAlivessh_configssh_configconfig
  • 使用詳細標誌(多次)可以增加解釋性錯誤訊息的機會
  • 在終止您的 ssh 會話之前,請確保ServerAliveInterval*ServerAliveCountMax小於防火牆的空閒時間閾值(詢問您的網路管理員)。
  • 如果伺服器是您的,您可以嘗試ClientAlive*那裡的 - 選項。
  • 如果客戶端+伺服器上都沒有 OpenSSH,請檢查版本是否不相容。

答案3

您可以設定客戶端發送 TCP 保持活動訊息。我知道它在膩子的連接選項下。不確定命令列選項,但這在我遇到問題時為我解決了。雖然它只對我在學校的win7機器上有用。

相關內容