Website-Suche

4 Möglichkeiten, SSH-Verbindungen unter Linux zu beschleunigen


SSH ist die beliebteste und sicherste Methode für die Remote-Verwaltung von Linux-Servern. Eine der Herausforderungen bei der Verwaltung von Remote-Servern sind die Verbindungsgeschwindigkeiten, insbesondere wenn es um die Erstellung von Sitzungen zwischen dem Remote-Computer und dem lokalen Computer geht.

Es gibt mehrere Engpässe bei diesem Prozess, ein Szenario ist, wenn Sie zum ersten Mal eine Verbindung zu einem Remote-Server herstellen. Normalerweise dauert es einige Sekunden, bis eine Sitzung eingerichtet ist. Wenn Sie jedoch versuchen, mehrere Verbindungen nacheinander zu starten, führt dies zu einem Mehraufwand (Kombination aus überschüssiger oder indirekter Rechenzeit, Arbeitsspeicher, Bandbreite oder anderen verwandten Ressourcen zum Ausführen des Vorgangs).

In diesem Artikel geben wir Ihnen vier nützliche Tipps, wie Sie Remote-SSH-Verbindungen unter Linux beschleunigen können.

1. SSH-Verbindung über IPV4 erzwingen

OpenSSH unterstützt sowohl IPv4 als auch IP6, aber manchmal sind IPv6-Verbindungen langsamer. Sie können also erwägen, SSH-Verbindungen nur über IPv4 zu erzwingen, indem Sie die folgende Syntax verwenden:

# ssh -4 [email 

Alternativ können Sie die Direktive AddressFamily (gibt die Adressfamilie an, die beim Verbindungsaufbau verwendet werden soll) in Ihrer SSH-Konfigurationsdatei /etc/ssh/ssh_config (globale Konfiguration) oder ~/.ssh/config (benutzerspezifische Datei) verwenden.

Die akzeptierten Werte sind "any" ", "inet " nur für IPv4 oder "inet6 ".

$ vi ~.ssh/config 

Hier ist eine nützliche Einführungsanleitung zur Konfiguration einer benutzerspezifischen SSH-Konfigurationsdatei:

  1. Konfigurieren von benutzerdefinierten SSH-Verbindungen zur Vereinfachung des Fernzugriffs

Zusätzlich können Sie auf dem entfernten Rechner den sshd-Daemon auch anweisen, Verbindungen über IPv4 in Betracht zu ziehen, indem Sie die obige Direktive in der Datei /etc/ssh/sshd_config verwenden.

2. Deaktivieren Sie die DNS-Suche auf dem Remote-Computer

Standardmäßig sucht der sshd-Daemon nach dem Namen des Remote-Hosts und überprüft auch, ob der aufgelöste Hostname für die Remote-IP-Adresse auf dieselbe IP-Adresse zurückgeht. Dies kann zu Verzögerungen beim Verbindungsaufbau oder bei der Sitzungserstellung führen.

Die UseDNS-Direktive steuert die oben genannte Funktionalität; Um es zu deaktivieren, suchen Sie es in der Datei /etc/ssh/sshd_config und kommentieren Sie es aus. Wenn es nicht festgelegt ist, fügen Sie es mit dem Wert no hinzu.

UseDNS  no

3. SSH-Verbindung wiederverwenden

Ein ssh-Client-Programm wird verwendet, um Verbindungen zu einem sshd-Daemon herzustellen, der entfernte Verbindungen akzeptiert. Sie können eine bereits hergestellte Verbindung wiederverwenden, wenn Sie eine neue SSH-Sitzung erstellen, was nachfolgende Sitzungen erheblich beschleunigen kann.

Sie können dies in Ihrer ~/.ssh/config-Datei aktivieren.

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist 600

Die obige Konfiguration (Host *) ermöglicht die Wiederverwendung von Verbindungen für alle Remote-Server, mit denen Sie eine Verbindung herstellen, indem Sie die folgenden Anweisungen verwenden:

  • ControlMaster – ermöglicht die gemeinsame Nutzung mehrerer Sitzungen über eine einzige Netzwerkverbindung.
  • ControlPath – definiert einen Pfad zum Steuer-Socket, der für die gemeinsame Nutzung von Verbindungen verwendet wird.
  • ControlPersist – wenn es zusammen mit ControlMaster verwendet wird, weist ssh an, die Master-Verbindung im Hintergrund offen zu halten (auf zukünftige Client-Verbindungen zu warten), sobald die erste Client-Verbindung geschlossen wurde.

Sie können dies für Verbindungen zu einem bestimmten Remote-Server aktivieren, z. B.:

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist  600

Auf diese Weise erleiden Sie nur den Verbindungs-Overhead für die erste Verbindung, und alle nachfolgenden Verbindungen sind viel schneller.

4. Verwenden Sie eine bestimmte SSH-Authentifizierungsmethode

Eine andere Möglichkeit, SSH-Verbindungen zu beschleunigen, besteht darin, eine bestimmte Authentifizierungsmethode für alle SSH-Verbindungen zu verwenden, und hier empfehlen wir, die passwortlose SSH-Anmeldung mit ssh keygen in 5 einfachen Schritten zu konfigurieren.

Sobald dies erledigt ist, verwenden Sie die PreferredAuthentications-Direktive in ssh_config oben genannten Dateien (global oder benutzerspezifisch). Diese Direktive definiert die Reihenfolge, in der der Client Authentifizierungsmethoden ausprobieren soll (Sie können eine durch Befehle getrennte Liste angeben, um mehr als eine Methode zu verwenden).

PreferredAuthentications=publickey 

Optional können Sie die folgende Syntax in der Befehlszeile verwenden.

# ssh -o "PreferredAuthentications=publickey" [email 

Wenn Sie die Passwortauthentifizierung bevorzugen, die als unsicher gilt, verwenden Sie diese.

# ssh -o "PreferredAuthentications=password" [email 

Schließlich müssen Sie Ihren sshd-Daemon neu starten, nachdem Sie alle oben genannten Änderungen vorgenommen haben.

# systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Weitere Informationen zu den hier verwendeten Direktiven finden Sie in den Manpages ssh_config und sshd_config.

# man ssh_config
man sshd_config 

Schauen Sie sich auch diese nützlichen Anleitungen zur Sicherung von SSH auf Linux-Systemen an:

  1. 5 Best Practices zum Sichern und Schützen von SSH-Servern
  2. So trennen Sie inaktive oder inaktive SSH-Verbindungen unter Linux

Das war's fürs Erste! Haben Sie irgendwelche Tipps/Tricks zum Beschleunigen von SSH-Verbindungen? Wir würden gerne von anderen Möglichkeiten hören, dies zu tun. Verwenden Sie das untenstehende Kommentarformular, um es mit uns zu teilen.

Verwandte Artikel: