なぜ ssh は -vvv ありの場合となしの場合で動作が異なるのでしょうか?

なぜ ssh は -vvv ありの場合となしの場合で動作が異なるのでしょうか?

-v最大制限は 3 ~ 4 で、sshコマンドの詳細度を制御します。

私はプロキシの背後にいて、プロキシを使用するようにsshを設定しているので、これが当てはまる可能性がありますが、

ssh [email protected] -vvvvは よりも信頼性が高いです。気が変だと言われるかもしれませんが、詳細度を指定しないと接続できないことがあります。詳細度を指定すると、より情報量が多くなり、接続されます。ssh [email protected]

この動作について何か説明はありますか? 私にとっては、これはかなり一貫した動作です。冗長性により、ssh が接続してデータを返す方法の変数が何らかの形で変更され、強制的に動作するのでしょうか?

答え1

メッセージの印刷に多くの時間を費やすためssh -vvv、相手側がパケットに応答する時間が長くなるためです... いいえ、これが実際にどのような違いをもたらすのかわかりません。

私は観察バイアスを疑っています。2回目のssh試みは1回目よりも成功する確率が高い(そして、これは-vvv単なる偶然です。なぜなら、-vvv2 回目は使用しても、1 回目は使用しない傾向があるからです)。

  • 最初のssh接続がルータ/ファイアウォール/プロキシのどこかの短時間(数秒以内)の問題により失敗し、SSH接続が失敗する確率はp2回目の試みが失敗する確率2度目の試みをしたと仮定するとpなので、2回目の試みの確率は作られて失敗するp²です。

  • 最初のssh試行が DNS ルックアップの失敗 (クライアントによるサーバーのルックアップ、プロキシによるマシンのルックアップなど) が原因で失敗した場合、失敗の原因はタイムアウトが短すぎることにある可能性があります。2 回目の試行時には、データがキャッシュ内に準備されており、すぐに到着します。

  • 何か (サーバー、中間ファイアウォール、プロキシなど) がディスクからデータを読み込んだり計算を実行したりする必要があったために最初の試行sshが失敗し、データの読み込み中または計算中に別の何かがタイムアウトした場合、2 回目の試行ではすでにキャッシュ内にあるデータが見つかります。

@meder、段落 2 の括弧内の私の推測は正しいでしょうか?

答え2

-v または任意の数の -v によって生じる唯一の違いは、返される詳細レベルです。接続デバッグ、X 転送統計など。

多数の -v によって不安定な接続や、アイドル接続を切断することに非常に熱心なアプライアンスとの接続を維持できると考えるのは不可能ではありませんが、実際の回線上の SSH 通信に関する限り、初期接続は変わらないはずです。

関連情報