當閒置一段時間後再次使用 SSH 會話後,我遇到了 SSH 會話凍結的問題。
問題是會話不會立即凍結,我仍然可以使用它。但是,一旦命令發送更多數據,它就會在任何輸出到達之前凍結,我必須重新啟動終端。
如果已閱讀有關 MTU 的早期解決方案,但是會話每次都會凍結。在這裡,只有在一段時間不活動之後才會發生這種情況。
ServerAliveInterval 120
請注意,我已經在 .ssh/ssh_config 中設定
關於如何解決這個問題有任何線索嗎?
答案1
答案2
建議:
- 嘗試在命令列上設定
ServerAliveInterval
、ServerAliveCountMax
和選項,而不是通過,以排除讀取設定時出現問題。也許應該直接調用?TCPKeepAlive
ssh_config
ssh_config
config
- 使用詳細標誌(多次)可以增加解釋性錯誤訊息的機會
- 在終止您的 ssh 會話之前,請確保
ServerAliveInterval
*ServerAliveCountMax
小於防火牆的空閒時間閾值(詢問您的網路管理員)。 - 如果伺服器是您的,您可以嘗試
ClientAlive*
那裡的 - 選項。 - 如果客戶端+伺服器上都沒有 OpenSSH,請檢查版本是否不相容。
答案3
您可以設定客戶端發送 TCP 保持活動訊息。我知道它在膩子的連接選項下。不確定命令列選項,但這在我遇到問題時為我解決了。雖然它只對我在學校的win7機器上有用。