某些机器上的 LAN 中的 SSH“滞后”,混合发行版

Chr*_*ian 9 linux ssh putty lag windows-10

几个月来,我的 LAN 内的 SSH 连接出现了一个奇怪的问题。只有在我使用 Windows 10 设备连接到(准系统)Linux 机器时才会发生这种情况。

当我连接到 SSH 服务器时,就像我的输入每秒只发送一次一样。如果我按住一个键,它会在一秒钟内不打印任何内容,在那一秒钟之后,我会看到我在那段时间所做的每一次击键。

这是它在工作服务器上的样子:

这是它对有问题的人的看法:

我测试/发现的东西

  • 更改 /etc/sshd 中的“UseDNS”设置并不能解决问题
  • 它发生在 Debian 上的 bash(和 zsh)(OpenSSH_7.4p1 Debian-10+deb9u6,OpenSSL 1.0.2r 2019 年 2 月 26 日)和 Alpine Linux 上的 Ash(OpenSSH_7.9p1,OpenSSL 1.1.1b 2019 年 2 月 26 日)
  • 它不会发生在 Alpine Linux OpenSSH_7.7p1、LibreSSL 2.7.4 上
  • 它不会发生在每台机器上,只是一些(不取决于发行版)
  • resolv.conf 是正确的
  • 使用和不使用 ClientAliveInterval 都会发生错误(在客户端和服务器上测试)
  • Ping 设备总是很快(小于 1 毫秒),所以它只是 SSH
  • 当我从 Windows 10 上的 linux 子系统、Putty 和 MobaXterm ssh 时,它也会滞后
  • 当我从 Linux 而不是 Windows 连接时没有问题

有没有人有任何线索或我可以尝试的事情?谢谢

eck*_*kes 14

通常,这是Nagle 算法的标志,您可以关闭该套接字选项。

(我之前在其他情况下也见过 Linux 和 Windows 之间类似的 TCP 延迟。在一种情况下,它是由 TCP Windows 大小和 PSH(推送)标志之间的交互引起的,这导致 Windows 确认延迟和/或重试。)