SSH 会话在数据流中间暂停;按键恢复

Pet*_*ace 5 linux ssh signals

我曾在多家公司、多个发行版和多个内核版本的机器上随机、间歇性地发生此问题。我想我只是被诅咒了。

发生的情况是我将加载一个新的盒子,并且我将在 ssh 中做一些事情,比如 yum 更新或 apt-get。一切都会进展顺利,然后会话就停止了。ssh 不会断开连接,就好像有人向会话发送了滚动锁定按键一样。

如果我在 ssh 会话中按回车键、空格键或任何按键,会话会重新唤醒并且好像没有出错一样。

曾几何时,我追查过这样的问题,发现交互进程正在进入 SLEEP 状态。在这种情况下,我无法确认这是相同的行为,但如果我能查明具体原因,我会修正这个问题。

无论如何,我一直无法弄清楚为什么这些进程会随机进入睡眠状态。

有没有人遇到过这个或类似的问题,并且对可能导致它的原因有任何了解?

小智 1

我曾经有过类似的事情。事实证明 TCP 断开连接然后重新连接,因为会话上的 MTU 错误。当长输出发送到终端时,就会发生这种情况(长输出意味着大数据包意味着超过实际的MTU 限制,假设您通过隧道连接)。

就我而言,调制解调器重置(我在家里使用VPN)解决了这个问题。在另一个类似的情况下——防火墙/VPN 网关上的配置做到了这一点。

当有大量输出进入控制台时会发生这种情况吗?如果是这样,您可以尝试在远程机器上运行 tcpdump,对文件说,看看是否是这种情况?