Dzięki następującej .ssh/config
konfiguracji:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
Jak zamknąć stałe połączenie przed 4 godzinami?
Wiem, że możesz nawiązywać nowe połączenia, ale jak je zamknąć (wszystkie)?
Być może istnieje sposób, aby pokazać wszystkie utrwalone połączenia i obsłużyć je indywidualnie, ale nie mogę tego znaleźć.
ssh
connection-sharing
Paolo
źródło
źródło
ssh -S none
(być może to już ci pomaga).Odpowiedzi:
Z instrukcji :
Starsze wersje mają tylko
check
iexit
, ale to wystarczy do twojego celu.Jeśli chcesz usunąć wszystkie połączenia (nie tylko połączenie z konkretnym hostem) za jednym zamachem, to
fuser /tmp/ssh_mux_*
lublsof /tmp/ssh_mux_*
wyświetli listę klientów ssh, którzy kontrolują każde gniazdo. Użyj,fuser -HUP -k tmp/ssh_mux_*
aby zabić ich wszystkich czysto (używając SIGHUP, ponieważ sygnał jest najlepszy, ponieważ pozwala klientom prawidłowo usunąć swoje gniazdo).źródło
check
jest nawet bardziej przydatny niż to, czego szukałem, coexit
zresztą działa! : Dfuser
nie można wysyłać sygnałów, ale działa to równie dobrze:lsof -Fp /tmp/ssh_mux_* | cut -c 2- | xargs kill -HUP
Napisałem narzędzie open source
cmc
do zarządzania sesjami ControlMaster: ClockworkNet / cmc :źródło
Możesz uruchomić
fuser /tmp/ssh_mux_blablabla
(możliwe, że trzebasudo
) i zabić PID, który on zwraca.fuser
pokazuje, które procesy używają pliku. (I więcej, sprawdźman fuser
.)Aktualizacja: sprawdź odpowiedź Gillesa; jest o wiele bardziej szczegółowy.
źródło
Działa to dla mnie przy użyciu tylko pliku gniazda dla wzorca sterowania:
Przykład
Oto przykład, w którym nawiązałem już połączenie ze zdalnym serwerem:
A przy odłączonym:
Jeśli nadal byłby podłączony, zmusiłoby go to do natychmiastowego wyjścia:
Nie jest to dla mnie jasne, ale wydaje się, że to potencjalnie błąd
ssh
, ponieważ wymaga dodatkowego argumentu na końcu, mimo żeblah
jest bez znaczenia w kontekście przełączników, których używam.Bez tego daje mi to:
Informacje o wersji
OSX CentOS 7.xPotwierdziłem, że w obu tych wersjach wymagana była dodatkowa nieprawdziwa argumentacja.
Bibliografia
źródło