情况是这样的:有一个SSH客户端(Ubuntu 14.04)和一个SSH服务器(Debian 7)。 他们之间有一堆networking。 SSH连接很容易(而且很快)build立,工作正常,速度快。
但是,如果连接闲置一段时间,就会发生一个奇怪的事情 – 连接仍然存在:我可以input命令,运行它们,命令将在服务器上执行,但是如果其中一个命令或一个命令多次执行产生太多的数据(只有几行文本就足够了),那么连接冻结,过了一段时间(当我再次按下某些东西时)会断开连接。 在冻结过程中,服务器和客户端都将连接处理为仍处于打开状态。
如果有什么东西像“顶”那样运行,那么连接就不会进入这个状态,从而始终保持发送数据。
我已经尝试了各种debugging选项和日志,但是看不到任何可以解释发生的事情的提示。 最容易混淆的部分是,在实际冻结之前,连接仍然有效。 任何暗示是赞赏。
您的客户端和服务器之间的连接可能存在MTU问题 。
有时候会在路由器级别find,或者可能是防火墙问题( 在某些情况下允许分段的数据包有帮助 )。 如果你运行类似dmesg (有很多输出)和较小的命令,你会经常看到这个。
你pipe理中级networking吗? 你能提一下这个是谁负责的吗?
如果他们在同一个networking,这可能是巨型帧的一个问题,特别是一个MTU问题。
大量的快速输出力量更大的数据包。