一段时间后,当远程运行的命令产生大量输出时,ssh 连接冻结

aig*_*ius 5 networking linux ssh

情况是这样的:有一个 ssh 客户端(Ubuntu 14.04)和一个 ssh 服务器(Debian 7)。他们之间有一堆网络。SSH 连接很容易(且快速)建立并且工作正常且快速。

但是,如果连接闲置一段时间,就会发生奇怪的事情 - 连接仍然有效:我可以输入命令,运行它们,命令将在服务器上执行,但是如果这些命令之一或总和多次执行产生太多数据(只需几行文本就足够了),然后连接冻结,一段时间后(当我再次按下某物时)与损坏的管道断开连接。在冻结期间,服务器和客户端都将连接处理为仍处于打开状态。

如果有类似“top”之类的东西在那里运行以一直发送数据,则连接不会进入该状态。

我尝试了各种调试选项和日志,但没有看到可以解释发生了什么的提示。最令人困惑的部分是连接在实际冻结之前仍然有效。任何提示表示赞赏。

eww*_*ite 3

您的客户端和服务器之间的连接可能存在MTU 问题。

有时这会在路由器级别发现,或者可能是防火墙问题(在某些情况下允许分段数据包会有所帮助)。如果您运行类似dmesg(具有大量输出)与较小命令的命令,您经常会看到这种情况。

您管理中间网络吗?你能向相关负责人提及此事吗?