-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 在线通信而言,初始连接应该没有什么不同。