SSH client_loop:发送断开连接:管道损坏

SSH client_loop:发送断开连接:管道损坏

当我在 SSH 连接中处于不活动状态时,我经常收到此消息。

client_loop: send disconnect: Broken pipe

我尝试了以下操作:

  1. 添加ServerAliveInterval=86400ServerAliveCountMax=14到我的配置文件。
  2. 添加ServerAliveInterval=86400ServerAliveCountMax=14到我的sshd_config文件。
  3. 使用-o标志来指定ServerAliveIntervalServerAliveCountMax

但由于某种原因,上述方法似乎都不适用于我的电脑。

答案1

我最近将工作站换成了 Debian(OpenSSH_9.2p1 Debian-2+deb12u2,OpenSSL 3.0.11 2023 年 9 月 19 日),大约 30 分钟不活动后,就开始出现这种断开连接的情况。很难辨别这是服务器端还是客户端的问题——有几台主机没有将我踢出。

但最终为我解决这个问题的方法是将其添加 ServerAliveInterval 300到我的 ~/.ssh/config。这也可以在 /etc/ssh/ssh_config 中为所有用户设置。

我不确定为什么这样做有效。根据我阅读手册页的方式,这应该会在 15 分钟后将我踢出(300 秒 ServerAliveInterval X 3 ServerAliveCountMax)。默认的 ServerAliveInterval 为 0 应该意味着“永远”,但显然有些事情发生了变化。有人能解释一下吗?

相关内容