Mit SSH Multiplexing schneller einloggen

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Mit dem Multiplexing-Feature lassen sich SSH-Verbindungen deutlich beschleunigen.

Ungeduldige Naturen können von der Secure Shell durchaus einmal genervt sein, denn das Login auf einem entfernten Rechner kann, je nach CPU und Netzwerk, leicht ein paar Sekunden dauern. Abhilfe schafft das Multiplexing-Feature von SSH, das es ermöglicht, eine SSH-Verbindung mehrfach zu verwenden. Damit fällt der Overhead durch TCP-Verbindungsaufnahme und Key-Austausch weg und das zweite Einloggen geht deutlich schneller vonstatten.

Um Multiplexing pauschal für alle Verbindungen zu aktivieren, tragen Sie die folgenden Zeilen in der Konfigurationsdatei "$HOME/.ssh/config" ein:

Host *
    ControlMaster auto
    ControlPath ~/.ssh/s/m-%r@%h:%p

Die für das Multiplexing verwendeten Sockets werden somit im Verzeichnis "~/.ssh/s/" erzeugt, das Sie erst mit passenden Rechten vergeben müssen:

mkdir ~/.ssh/s
chmod go-rwx ~/.ssh/s/

Wenn Sie sich nun auf einem anderen Rechner einloggen, zeigt ein Blick in das Verzeichnis einen neuen Socket an:

$ ls -l .ssh/s
total 0
srw------- 1 oliver oliver 0 Dez  5 14:07 m-oliver@supersecret.org:22

Weitere SSH-Sessions nutzen diesen Socket, solange die erste Verbindung geöffnet ist. Die folgenden beiden Aufrufe demonstrieren den Gewinn. Im ersten Beispiel wird eine neue Verbindung gestartet, das zweite macht per Multiplexing von dem offenen Kanal Gebrauch:

$ time ssh one.supersecret.org date
Mon Dec  5 14:08:11 CET 2016

real    0m6.017s
user    0m0.028s
sys    0m0.000s
$ time ssh one.supersecret.org date
Mon Dec  5 14:10:21 CET 2016

real    0m0.104s
user    0m0.004s
sys    0m0.008s

Eine weitere für das Multiplexing interessante Option ist "ControlPersist", das die maximale Dauer der Master-Verbindung angibt.

Auch Ansible, das sich für das zentrale Konfigurationsmanagement von Servern nutzen lässt und dazu auf SSH zurückgreift, lässt sich mit dieser Methode beschleunigen. Dazu dient diese Zeile in der Ansible-Konfiguration:

ssh_args = -o ControlMaster=auto -o ControlPersist=60s
06.04.2016
SSH
comments powered by Disqus

Artikel der Woche

OpenSSL

Als Protokoll ist SSL/TLS täglich im Einsatz. Mozilla und Google haben kürzlich erklärt, dass mehr als 50 Prozent der HTTP-Verbindungen verschlüsselt aufgebaut werden. Googles Chrome soll ab 2017 sogar vor unverschlüsselten Verbindungen warnen, wenn Sie dort sensible Daten eingeben können. In unserem Security-Tipp werfen wir einen Blick hinter die Kulissen von OpenSSL und zeigen dessen vielfältige Möglichkeiten auf. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Distro

Welche Linux-Distribution setzen Sie vorwiegend auf dem Server ein?

  • Arch Linux
  • CentOS
  • Debian
  • Fedora
  • openSUSE
  • Oracle Linux
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise Server
  • Ubuntu
  • andere Linux-Distribution
  • FreeBSD
  • OpenBSD

Google+

Ausgabe /2017

Microsite