【问题标题】:How to ssh in the face of huge (30 second) latency? [closed]面对巨大的(30 秒)延迟,如何 ssh? [关闭]
【发布时间】:2010-11-17 09:51:00
【问题描述】:

我需要在两台运行 Centos v5 的 Linux 机器之间创建 ssh 连接,但延迟可能高达 30 秒。我发现,如果我通过模拟 7 秒或更长时间的延迟来人工测试接近此配置的东西:

tc qdisc add dev eth0 root netem delay 7s

当我尝试时:

ssh -n -o ConnectTimeout=0 WilliamKF@centos5Machine whoami

大约 1 分 23 秒后失败:

Connection closed by 10.35.50.114

请注意,ConnectTimeout=0 表示永不超时。此外,模拟 6 秒的延迟会在大约 1 分 32 秒后成功实现 ssh。

面对 Linux 上极高的延迟,我能做些什么来让 ssh 正常工作吗?为什么 ssh 在这个阈值下会失败

【问题讨论】:

  • whoami 应该在回复后结束。
  • @J-16 SDiz whoami 与问题无关。替换您希望远程调用的任何命令。
  • 呃...您可能会更好地使用面向行的协议(或至少是面向行的客户端)。与基于行或面向缓冲区的机制相比,逐字符协议的超高延迟会更多令人抓狂。不幸的是,我想不出一个。
  • 请问您尝试通过 SSH 连接到什么样的机器?延迟听起来像是某种太空探测器:-)我实际上正在处理一个类似的问题-我正在尝试连接到虚拟机(为了优雅地停止某些进程),该虚拟机非常繁忙以至于连接尝试保持交换密钥时超时。你能解决你的问题吗?
  • 当延迟很大时,我们使用 inetd。

标签: linux ssh centos latency


【解决方案1】:

你试过使用屏幕吗?当我的连接不良导致我不断断开连接时,我会确保使用它,以免丢失终端会话。

http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/

【讨论】:

  • 'Screen' 似乎是一个 GUI。如何在没有任何 GUI 的情况下将命令传递到“屏幕”以从脚本或 C++ 应用程序进行评估?
  • screen 是您可以重新连接的备用终端。您可以像任何其他终端一样调用脚本
猜你喜欢
  • 1970-01-01
  • 2019-12-01
  • 2013-01-04
  • 1970-01-01
  • 2023-03-27
  • 2021-06-25
  • 2022-01-27
  • 2022-01-20
  • 2014-07-25
相关资源
最近更新 更多