Warum SSH nach dem Logout auf weitergeleitete Verbindungen wartet
Unterscheiden Sie das Ende der entfernten Shell vom Abschluss weitergeleiteter Kanäle, wenn eine SSH-Sitzung nicht zu beenden scheint.
Die entfernte Shell und über SOCKS weitergeleitete Verbindungen sind getrennte Kanäle auf einem SSH-Transport. Das Beenden der Shell schließt nicht zwangsläufig die Browserverbindungen, die die dynamische Weiterleitung nutzen. OpenSSH dokumentiert, dass beim Logout auf das Ende weitergeleiteter Verbindungen oder X11-Sitzungen gewartet wird.
Für einen geordneten Abschluss schließen Sie die Vorgänge, die die Weiterleitung nutzen, und lassen Sie ihre Kanäle enden. Das Schließen eines Browserfensters kann Hintergrundprozesse und Verbindungen des Browsers weiterlaufen lassen, daher ermitteln Sie den Prozess, der den Listener noch verwendet.
In einer geeigneten interaktiven Sitzung können die standardmäßigen OpenSSH-Escape-Befehle weitergeleitete Verbindungen auflisten oder ausdrücklich trennen. Ihre Verfügbarkeit hängt von dieser Sitzung und ihrer Escape-Konfiguration ab; interaktiven Escape-Text an einen Hintergrundprozess ssh -N zu senden ist keine allgemeine Schnittstelle zum Herunterfahren.
Bevor Sie den Transport unterbrechen, stellen Sie fest, ob ein Master für Verbindungsfreigabe ihn besitzt. Andere Sitzungen können von derselben Verbindung abhängen.
ExitOnForwardFailure regelt das Scheitern beim Aufbau der angeforderten Weiterleitung. Es definiert weder „nach der letzten Website-Anfrage beenden“ noch „jeden Kanal beenden, wenn die Shell endet“. Die Entscheidung beim Herunterfahren ist, die verbleibende Arbeit abzuarbeiten oder sie bewusst zu unterbrechen.