SSH: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
(SSH)
(kein Unterschied)

Version vom 4. März 2006, 22:00 Uhr

SSH-Verbindungen recyceln

In aktuellen SSH-Versionen (ab 4.0) gibt es die Möglichkeit, SSH-Verbindungen wiederzubenutzen: Hat man bereits eine Shell auf einem entfernten Rechner offen und will dann z.B. scp benutzen, um etwas dorthin zu kopieren, wird die gleiche Verbindung benutzt. Dadurch muss man sich nicht noch einmal an dem anderen Rechner authentifizieren, was einiges an Zeit spart. Damit alle zukünftigen SSH-Sitzungen davon profitieren, ein Verzeichnis ~/.ssh/sockets anlegen und dann Folgendes in die ~/.ssh/config schreiben:

Host *
  ControlPath ~/.ssh/sockets/%r@%h:%p
  ControlMaster auto

Leider löscht ssh Socket-Leichen nicht automatisch, sollte einmal ein Prozess sterben und weigert sich dann, eine weitere Verbindung zum entsprechenden Host aufzubauen. Eine entsprechende Fehlermeldung sieht z.B. so aus:

Control socket connect(/home/frank/.ssh/sockets/toidinamai@172.22.99.2:22): Connection refused
ControlSocket /home/frank/.ssh/sockets/toidinamai@172.22.99.2:22 already exists

In diesem Fall einfach die störende Socket-Datei löschen. Sollte es aus irgend einem Grund nötig sein, eine separate Sitzung aufzubauen, kann man das mit

ssh -o "ControlPath none" user@host

tun.

Achtung: Die erste aufgebaute Sitzung fungiert als Master für alle weiteren. Wird sie geschlossen, sterben auch alle anderen Verbindungen zum gleichen Host.