Mit folgender .ssh/config
Konfiguration:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
Wie schließe ich die bestehende Verbindung vor den 4 Stunden?
Ich weiß, dass Sie neue Verbindungen herstellen können, aber wie können Sie sie (alle) schließen?
Vielleicht gibt es eine Möglichkeit, alle bestehenden Verbindungen anzuzeigen und einzeln zu behandeln, aber ich kann sie nicht finden.
ssh
connection-sharing
Paolo
quelle
quelle
ssh -S none
(vielleicht hilft Ihnen das schon).Antworten:
Aus dem Handbuch :
Ältere Versionen haben nur
check
undexit
, aber das reicht für Ihren Zweck.Wenn Sie alle Verbindungen löschen (nicht nur die Verbindung zu einem bestimmten Host) auf einen Schlag, dann
fuser /tmp/ssh_mux_*
oderlsof /tmp/ssh_mux_*
werden die SSH - Clients auflisten , die jede Buchse steuern. Verwenden Siefuser -HUP -k tmp/ssh_mux_*
diese Option, um sie alle sauber zu töten (verwenden Sie SIGHUP als das beste Signal, damit die Clients ihren Socket ordnungsgemäß entfernen können).quelle
check
ist noch nützlicher als das, was ich gesucht habe, wasexit
sowieso macht! : Dfuser
können keine Signale gesendet werden, aber das funktioniert genauso gut:lsof -Fp /tmp/ssh_mux_* | cut -c 2- | xargs kill -HUP
Ich habe ein Open Source-Dienstprogramm geschrieben,
cmc
um ControlMaster-Sitzungen zu verwalten: ClockworkNet / cmc :quelle
Sie können die zurückgegebene PID ausführen
fuser /tmp/ssh_mux_blablabla
(falls erforderlichsudo
) und löschen.fuser
Zeigt an, welche Prozesse eine Datei verwenden. (Und mehr, check outman fuser
.)Update: Schauen Sie sich Gilles 'Antwort an. es ist viel detaillierter.
quelle
Das funktioniert bei mir nur mit der Socket-Datei für den Control Master:
Beispiel
Hier ist ein Beispiel, in dem ich bereits eine Verbindung zu einem Remoteserver hergestellt habe:
Und damit getrennt:
Wenn es immer noch verbunden wäre, würde dies das sofortige Beenden erzwingen:
Es ist mir unklar, aber es scheint möglicherweise ein Fehler zu sein
ssh
, der am Ende ein zusätzliches Argument erfordert, obwohlblah
es im Kontext der von mir verwendeten Schalter bedeutungslos ist.Ohne es gibt mir das:
Versions Information
OSX CentOS 7.xIch bestätigte, dass für beide Versionen das zusätzliche Scheinargument erforderlich war.
Verweise
quelle