
-v
mit einer maximalen Begrenzung von 3–4 steuert die Ausführlichkeit des ssh
Befehls.
Ich bin hinter einem Proxy und habe SSH so eingerichtet, dass es einen Proxy verwendet. Das könnte also der Fall sein, aber ich habe festgestellt, dass
ssh [email protected] -vvvv
ist zuverlässiger als . Nennen Sie mich verrückt, aber wenn ich die Ausführlichkeit nicht angebe, stellt es manchmal einfach keine Verbindung her. Wenn ich die Ausführlichkeit angebe, ist es informativer und stellt eine Verbindung her.ssh [email protected]
Gibt es eine Erklärung für dieses Verhalten? Und für mich ist das ein ziemlich konsistentes Verhalten. Ändert die Ausführlichkeit irgendwie eine Variable in der Art und Weise, wie SSH eine Verbindung herstellt und Daten zurückgibt, sodass es zum Funktionieren gezwungen wird?
Antwort1
Denn ssh -vvv
das Drucken von Nachrichten verbringt viel Zeit, und dadurch hat die andere Seite mehr Zeit, auf Pakete zu antworten ... Nein, ich sehe keinen wirklichen Unterschied.
Ich vermute einen Beobachtungsfehler. Ich vermute, dassder zweite ssh
Versuch hat eine höhere Erfolgswahrscheinlichkeit als der erste(und das -vvv
ist nur ein Zufall, da Sie dazu neigen, es -vvv
beim zweiten Mal zu verwenden, beim ersten Mal jedoch nicht).
Wenn der erste
ssh
Versuch aufgrund eines kurzzeitigen (nicht länger als ein paar Sekunden) Problems an einem Router/einer Firewall/einem Proxy fehlschlägt und die Wahrscheinlichkeit, dass eine SSH-Verbindung fehlschlägt,P, dann ist die Wahrscheinlichkeit, dass der zweite Versuch fehlschlägtvorausgesetzt, Sie haben einen zweiten Versuch unternommenIstP, so dass die Wahrscheinlichkeit, dass der zweite Versuchwird gemacht und scheitertist p².Wenn der erste
ssh
Versuch aufgrund eines DNS-Lookup-Fehlers fehlschlägt (Lookup des Servers durch den Client, Lookup Ihres Rechners durch den Proxy, ...), kann der Fehler an einem zu kurzen Timeout liegen. Beim zweiten Versuch liegen die Daten bereits in einem Cache bereit und kommen sofort an.Wenn der erste
ssh
Versuch fehlschlägt, weil etwas (der Server oder eine zwischengeschaltete Firewall, vielleicht Ihr Proxy) Daten von der Festplatte laden oder Berechnungen durchführen musste und es während des Ladens oder Berechnens der Daten zu einer Zeitüberschreitung gekommen ist, werden die Daten beim zweiten Versuch bereits im Cache gefunden.
@meder, ist meine eingeklammerte Vermutung in Absatz 2 richtig?
Antwort2
Der einzige Unterschied, den ein -v oder eine beliebige Anzahl von -vs machen sollte, ist die Ausführlichkeitsstufe, die Ihnen zurückgegeben wird. Verbindungsdebug, X-Weiterleitungsstatistiken usw.
Es ist durchaus möglich, dass zahlreiche „-v“-Anweisungen eine instabile Verbindung oder eine Verbindung mit einem Gerät aufrechterhalten, das inaktive Verbindungen unbedingt beenden möchte. Was die eigentliche SSH-Kommunikation über das Kabel betrifft, sollte es bei der ursprünglichen Verbindung jedoch nicht anders sein.