Was kann eine langsame SSH-Sitzung verursachen? [geschlossen]

46

Ich ssh auf Remote-Host, aber die Terminalleistung ist schlecht. Von mir eingegebene Symbole werden nicht sofort, sondern mit einiger Verzögerung angezeigt. Manchmal werden zwei Symbole nach einer Verzögerung gleichzeitig angezeigt.

lexsys
quelle
Mosh ist ein guter Ersatz für ssh, um dieses Problem zu vermeiden: mosh.mit.edu
Steven C. Howell
6
SSH-Server ... Warum wurde dieser geschlossen? Es ist eindeutig ein Server-Problem. Sicher, einige der Antworten hier basieren auf Meinungen, aber die Frage sollte in Ordnung sein.
07.01.16 Uhr
5
Warum ist diese Frage geschlossen? In meinem Fall war es def Serverseite - ein geschlossener UDP-Port 67/68. Auf einem generischen Vultr-Image war DHCP aktiviert. Es wurde versucht, die Pub-IP-Adresse ständig zu erneuern, sie wurde jedoch von CSF blockiert. Das Zulassen dieser Ports schien das Problem zu lösen, und SSH (und andere Netzwerkdienste) schlossen sich erneut an. Achten Sie darauf, wenn Sie dieses oder ähnliche Standard-VPS-Bilder verwenden.
Dhaupin
5
Dies ist eindeutig ein (allgemeines) Netzwerkproblem. Ich glaube, es gibt keinen Grund, es zu schließen, und es ist definitiv kein Thema. Sogar (besonders) wenn das Problem mehrere Ursachen haben kann, die schwer zu identifizieren sind.
mivk

Antworten:

17

Hohe Latenz ist eine weitere Ursache für schlechte SSH-Leistung. Ich empfehle die Verwendung von mtr als besseren Ersatz für Traceroute. Es sollte Ihnen eine Vorstellung davon geben können, wo Ihre Netzwerkprobleme auftreten können.

David Pashley
quelle
13

Das Deaktivieren der X11-Weiterleitung (ssh -x) und das Aktivieren der Komprimierung (ssh-C) können Ihre Sitzung ebenfalls beschleunigen.

Woody
quelle
9

Ich kann mir zwei mögliche Ursachen vorstellen:

  1. Paketverlust auf der Verbindung
  2. Hohe Belastung des Servers.
Shoan
quelle
3

Ich habe versucht, die Netzwerkleistung zu messen, indem ich schnell herausgefunden habe, dass das Terminal in Ordnung ist. Was ist passiert?

Wir haben einen Lastausgleich zwischen zwei Internetkanälen Router. Manchmal leitet es meinen SSH-Verkehr durch WAN1 und manchmal durch WAN2. Ich schlug vor, dass mit nur einem Kanal etwas nicht stimmt. Also habe ich die Netzwerkleistung mit mtr (tolles Tool!) Für zwei Kanäle getrennt gemessen.

Ja! wan2 hat 21 Hops mit 110 ms und wan1 hat 15 mit nur 21 ms! wan2 latenz ist das problem.

lexsys
quelle
3

Verwenden Sie Compression und CompressionLevel von 9. Das sollte ein wenig helfen. Sie können diese Parameter in / etc / ssh / ssh_config konfigurieren. Aber wenn das tatsächliche Netzwerk sehr schlecht ist, werden diese Tricks nicht viel nützen.

Saurabh Barjatiya
quelle
2

Die offensichtlichste Ursache für dieses Verhalten ist eine Verbindung, die gesättigt ist oder Pakete verwirft. Wie viele Hopfen haben Sie von Ihrer Workstation zu der Maschine, in die Sie ssh'ing? Haben Sie ggf. eine Traceroute analysiert?

Jan Jungnickel
quelle
2

Wenn Sie OpenSSH auf einer Long-Fat-Pipe verwenden (hohe Bandbreite + hohe Latenz), stellen Sie sicher, dass Sie auf beiden Seiten mindestens Version 4.7 verwenden, da es Korrekturen enthält, damit OpenSSH ein größeres TCP-Fenster verwendet.

 * The SSH channel window size has been increased, and both ssh(1)
   sshd(8) now send window updates more aggressively. These improves
   performance on high-BDP (Bandwidth Delay Product) networks.

Dies kann wichtig sein, wenn Sie die Verbindung voll ausschöpfen möchten, da ein Absender andernfalls möglicherweise auf Bestätigungen warten muss, bevor er mit dem Senden fortfahren kann.

knweiss
quelle
1

Wie bereits von anderen erwähnt, kann dies durch Latenz, Netzwerkverlust und langsamen Server verursacht werden.
Manchmal sehen Sie 2 Zeichen auf einmal, weil der moderne TCP-Stack einen Algorithmus namens Naggle verwendet .

Radius
quelle
1
Nagles Algorithmus ist bei interaktiven Anwendungen wie Telnet & SSH
LapTop006,
1
Sie haben nicht genug Informationen, um "immer" zu sagen. Wir wissen nicht, welchen SSH-Client / Server er verwendet. Wir wissen nicht, welches Betriebssystem er ausführt. usw. Unter manchen Betriebssystemen kann sich eine Kernel-Level-Einstellung auf TCP_NODELAY auswirken, das auf Anwendungsebene festgelegt wurde.
Radius
1

Es könnte sich auch um einen SSH-Brute-Force-Versuch handeln, der Ihre Verbindung drosselt. Jedes Mal, wenn meine Sitzung langsam verläuft, überprüfe ich die Protokolle und in einigen Fällen versucht jemand, Passwörter wie verrückt zu verwenden.

raupach
quelle
1

Falsch konfiguriertes DNS kann dies verursachen. Sobald der Server angemeldet ist, reagiert er einwandfrei und lädt die Dateien ziemlich schnell hoch und herunter, SSH-Anmeldungen sind jedoch langsam.

ServerChecker
quelle
1
Ich habe festgestellt, dass ich einen IP-Eintrag in / etc / hosts für einen Server löschen kann, der eine langsame SSH-Anmeldung hat und normalerweise die anfängliche Verbindung beschleunigt. Die eigentliche Lösung ist jedoch, dass der DNS ordnungsgemäß funktioniert.
ServerChecker
1

Eine Sache zu betrachten ist einfach Serverspeicher. Ich hatte eine Ubuntu-VM mit 256 MB Arbeitsspeicher und SSH war sehr träge. Das Verdoppeln auf 512 MB löste das Problem.

GateKiller
quelle