SSH Multiplexing (Connection Sharing)
Fedora release 18 (Spherical Cow)
3.8.9-200.fc18.x86_64 #1 SMP Fri Apr 26 12:50:07 UTC 2013
3.8.9-200.fc18.x86_64 #1 SMP Fri Apr 26 12:50:07 UTC 2013
SSH Multiplexing erlaubt weitere SSH-Verbindungen ohne Passwort zu verwenden, nachdem eine Sitzung (Master) authentifiziert wurde. Die Vorteile sind eine schnellere Reaktionszeit da ein bestehender Handshake mitbenutzt wird und ein Login flotter zustande kommt, da weitere Verbindungen kein Passwort erfordern.
Die Option ControlMaster auto
bewirkt, dass
automatisch eine Master-Verbindung erzeugt wird, falls noch keine
existiert. Damit muss der Anwender nicht explizit zwischen Master und
Slave unterscheiden.Die Option ControlPath ~/.ssh/%r@%h:%p erzeugt im $HOME Verzeichnis des Benutzers eine eindeutige Datei solange die Master-Sitzung besteht (Socket) Benutzername@Host:Port
Die Option ControlPersist 600
definiert, dass die
Master-Verbindung über die Lebenszeit des erzeugenden SSH-Aufrufs hinweg
bestehen bleibt und erst nach 600 Sekunden ohne Nutzung geschlossen
wird.Um SSH Multiplexing nur für diesen Benutzer permanent zu definieren erzeugt man im lokalen Verzeichnis /home/benutzer/.ssh/ eine Datei mit Namen config. Soll dieses Feature systemweit wirksam sein, muss die ssh_config im Verzeichnis /etc/ssh/ mit selbigem Inhalt editiert werden.
Host *Standardmäßig wird die config Datei mit den Rechten 664 (-rw-rw-r--) angelegt, was aber einen Fehler produziert, denn nur der Eigentümer darf Schreibrechte haben.
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ControlPersist 600
Bad owner or permissions on /home/benutzer/.ssh/configDeshalb sollte diese auf 644 (-rw-r--r--) geändert werden, da sonst keine SSH-Verbindungen möglich sind.
$ chmod 644 /home/benutzer/.ssh/configNach einer erfolgreichen SSH-Verbindung lässt sich mit folgendem Befehl die Konnektivität der Master-Sitzung überprüfen:
$ ssh -O check 192.168.1.2Im /home/benutzer/.ssh/ Verzeichnis befindet sich nun bei bestehender Verbindung eine leere Datei mit sinngemäß folgendem Dateinamen:
Master running (pid=7675)
benutzername@192.168.1.2:22Eine SSH Master-Sitzung wird mit diesem Befehl beendet:
$ ssh -O exit 192.168.1.2Die Slave- u. Master-Sitzungen werden daraufhin unterbrochen und erhalten folgende Meldung:
Exit request sent.
Shared connection to 192.168.1.2 closed.
Kommentare