
-v
其最大限制為 3-4,控制ssh
命令的詳細程度。
我在代理後面,並且我有 ssh 設定來使用代理,所以可能是這種情況,但我注意到
ssh [email protected] -vvvv
比 更可靠。你可以說我瘋了,但如果我不指定詳細程度,有時它就無法連接。如果我確實指定了詳細程度,它將提供更多資訊並具有聯繫。ssh [email protected]
這種行為有什麼解釋嗎?對我來說,這是非常一致的行為。冗長是否會以某種方式改變 ssh 連接和返回資料的方式中的變量,從而迫使其工作?
答案1
因為ssh -vvv
花費大量時間列印訊息,這給了另一方更多的時間來回應資料包......不,我不明白這會產生任何實際的差異。
我懷疑存在觀察偏差。我猜想第二ssh
嘗試比第一次的成功機率更高(這-vvv
只是一個巧合,因為你傾向於使用-vvv
第二次而不是第一次)。
如果第一個
ssh
失敗是由於某處路由器/防火牆/代理上的短期(不超過幾秒鐘)問題而失敗,則 ssh 連線失敗的機率為p,則第二次嘗試失敗的機率假設您已經進行了第二次嘗試是p,所以第二次嘗試的機率成功並失敗是 p²。如果第一個
ssh
失敗是因為 DNS 查找失敗(用戶端尋找伺服器、代理程式尋找您的電腦…),則失敗可能是由於逾時太短造成的。當您第二次嘗試時,資料已在某些快取中準備就緒並立即到達。如果第一次
ssh
失敗是因為某些東西(伺服器或中間防火牆,也許是您的代理)必須從磁碟加載一些資料或進行一些計算,並且在資料仍在加載或計算時其他東西超時,則第二次嘗試發現資料已經在快取中。
@meder,我在第 2 段括號內的猜想是否正確?
答案2
-v 或任意數量的 -v 的唯一區別是返回給您的詳細級別。連接調試、X 轉發統計資料等。
並非不可能認為大量的 -v 可以保持不穩定的連接,或者與非常熱衷於終止空閒連接的設備的連接,但就實際的 SSH 通信而言,初始連接應該沒有什麼不同。