进一步阅读

进一步阅读

我注意到,当我通过慢速链接 SSH 到远程计算机时,在传输相对大量的数据后,SSH 似乎会“粘住”。

例如,通过链接输入文本没问题,但运行ls /etc会使连接冻结几分钟。

我会理解延迟是否是因为我最大限度地提高了连接速度,并且在数据传输后它恢复正常,但连接冻结的时间远远超出了您对实际涉及的数据量的预期。

奇怪的是,如果我在同一台机器上打开两个 SSH 连接,当其中一个已冻结时,另一个仍然可以正常工作。所以我不能最大化连接速度,否则它们会同时冻结。

两个盒子或(据我所知)之间的路由器上都没有活动的流量整形,因此不应该丢弃数据包以将平均传输速度保持在一定范围内。

任何人都可以提出任何可能导致这种行为的建议,或者进一步检查的内容吗?

scp和也会发生同样的事情sshfsscp报告巨大的传输速率(许多 MB/秒,然后速度慢慢回落到stalled几分钟,然后如果我幸运的话,它会重复直到文件完成传输。) sshfs可以工作,但是通常(并非总是)在保存文件后,安装点会在几分钟内无响应,从而暂时阻止任何尝试访问该文件的程序。

编辑:我尝试使用iperf并获得一些有趣的统计数据:

Local:  0.0- 0.9 sec   256 KBytes  2.25 Mbits/sec
Remote: 0.0- 7.0 sec   256 KBytes   302 Kbits/sec

Local:  0.0-15.9 sec  1.00 MBytes   529 Kbits/sec
Remote: 0.0-16.0 sec  1.00 MBytes   524 Kbits/sec

看起来在一定数量的数据以下,本地端发送的速度比远程接收的速度快得多。我想这毕竟不是 SSH 问题。我将研究一些可能会对此进行调整的 TCP 设置,但如果有人确切知道,请告知!

答案1

您的 SSH 连接超出了客户端和服务器之间某处的 MTU 大小,并且路径最大传输单元发现不管用。 (这是以安全的名义全面阻止 ICMP 流量的几个原因之一。)

进一步阅读

答案2

我有一个类似的问题:

  • ssh 连接保持已建立状态
  • 终端反复冻结和解冻
  • 当终端冻结时,数据包在 SEND-Q 中可见
  • 冷冻时间约2-4分钟
  • 解冻约30秒

原来我的路由器固件已经过时了!

  • 修复了固件更新的问题

相关内容