ssh 因高延迟连接而挂起(国际连接)

标签 ssh latency freeze

这让我最近的编程真的很令人沮丧。

我现在在阿根廷,通过 SSH 连接到美国服务器。可以理解的是,这里的 ping 值有点高(平均大约 200 毫秒),所以当我通过 SSH 连接到服务器时,每次击键之间会有明显的延迟。这很好,很容易使用。

不太容易处理的是,大约每 5 分钟左右,SSH 就会完全挂起,大约需要 3-5 分钟才能返回提示。我知道服务器没有陷入困境,因为我可以在等待一个返回时轻松打开几个新连接(实际上这是我能够工作的唯一方法)。当 SSH 终于回来时,我可以看到它实际上一直在后台运行(大文件下载是测试这一点的好方法),但它只是没有更新我的屏幕。

有谁知道可能导致这种情况的原因?

其他一些事实:服务器是 Ubuntu,我正在连接 Mac OS X。我在 SSH 设置中打开了 keepalive。当我按住一个快速发送大量键的键(例如向左或向右箭头滚动)时,它最有可能挂起。事实上,我可以通过登录并按住“a”之类的任何键来可靠地重现挂起 - 在挂起之前它永远不会超过完整的“a”行。当我第一次在国际上连接时,这才开始,所以我假设它与那个(延迟?)有关,但不能肯定。

最佳答案

奇怪的。我无法帮助您解决您的问题,但我有一个提示可以让它不那么烦人:使用 screen(1) .这将使另一端的 shell 保持事件状态,并且您可以在重新连接后继续执行任何操作。

如果你只需要在另一端运行一个命令,我建议将该命令作为选项传递给 ssh (它将连接,运行命令,显示结果并断开连接)。

关于ssh 因高延迟连接而挂起(国际连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/885862/

相关文章:

java - 我可以在后台迭代吗?

java - JVM 在 windows Server 2008 R2 下停在 2GB

curl - 如何在 libcurl 中启用 ssh 协议(protocol)

linux - GitHub SSH 访问无效

amazon-ec2 - 亚马逊 EC2 延迟

javascript - AWS Lambda,计费时间比处理时间长

Ubuntu - ssh/ftp 用户的 chroot 虚拟系统

linux - ssh2 中的特殊字符

macos - 解决AVPlayer和NSSound之间的延迟

crash - TortoiseHg 卡住挂起崩溃