Das Problem, das Sie sehen, bedeutet, dass die Verbindung nicht verfügbar ist. Wenn Sie am Ende des Befehls alle Verbindungen auflisten, sehen Sie möglicherweise, dass die Verbindung für diesen Port nicht mehr unter LISTEN steht und jetzt TIME-WAIT oder ist CLOSE-WAIT, das bedeutet, dass die Verbindungen noch "lebendig" sind, jedoch nur als ein laufender Prozess in der Himbeere.
Damit dies funktioniert, können Sie ein Skript erstellen, das prüft, ob eine reversessh-Verbindung besteht, wenn es nicht eingerichtet ist.
Um das Problem zu lösen, können Sie dem Skript Code hinzufügen, um zu überprüfen, ob sich in der Einheit eine ssh-Prozess-ID befindet. Wenn Sie eine Markierungsdatei haben, beenden Sie diesen Prozess, um den Tunnel erneut zu starten.
Beispiel: Sie haben eine leere Datei namens RESTARTSSH. In Ihrem Skript können Sie überprüfen, ob diese Datei vorhanden ist. Wenn ja, suchen Sie nach der Prozess-ID der SSH, und beenden Sie sie, und starten Sie den Tunnel erneut.
Zur Überprüfung der Prozess-ID können Sie Folgendes verwenden:
ps -ef | grep ServerAliveInterval | grep -v grep | awk ''