为什么 ssh 有时使用 -vvv 比不使用 -vvv 更有效?

为什么 ssh 有时使用 -vvv 比不使用 -vvv 更有效?

-v其最大限制为 3-4,控制ssh命令的详细程度。

我使用了代理,并且设置了 ssh 来使用代理,所以可能是这种情况,但我注意到

ssh [email protected] -vvvv比 更可靠。说我疯了吧,但如果我不指定详细程度,有时它就无法连接。如果我指定了详细程度,它将更具信息量并能连接。ssh [email protected]

这种行为有什么解释吗?对我来说,这是相当一致的行为。详细程度是否会以某种方式改变 ssh 连接和返回数据的方式中的变量,从而迫使其工作?

答案1

因为ssh -vvv花费大量时间打印消息,这给了对方更多时间来响应数据包......不,我不明白这会产生什么实际影响。

我怀疑存在观察偏差。我推测第二次ssh尝试的成功概率比第一次更高(这-vvv只是巧合,因为您倾向于使用-vvv第二次而不是第一次)。

  • 如果第一个ssh由于路由器/防火墙/代理上的短暂(不超过几秒钟)问题而失败,则 ssh 连接失败的概率是,那么第二次尝试失败的概率假设你已经第二次尝试,因此第二次尝试的概率已完成但失败是p²。

  • 如果第一次ssh尝试由于 DNS 查找失败而失败(客户端查找服务器,代理查找您的计算机,...),则失败可能是由于超时时间太短。当您第二次尝试时,数据已在某个缓存中准备就绪并立即到达。

  • 如果第一次尝试ssh由于某些因素(服务器、中间防火墙或您的代理)必须从磁盘加载某些数据或进行某些计算而失败,而在数据仍在加载或计算时其他因素超时,则第二次尝试会发现数据已在缓存中。

@meder,我第 2 段中括号内的猜想正确吗?

答案2

一个 -v 或任意数量的 -v 所造成的唯一区别是返回给您的详细程度。连接调试、X 转发统计信息等。

不难想象,众多的 -v 可以维持不稳定的连接,或者与非常热衷于终止空闲连接的设备之间的连接,但就实际的 SSH 在线通信而言,初始连接应该没有什么不同。

相关内容