Ich verwende ssh als SOCKS5-Proxy und verbinde mich mit meinem persönlichen Server. Wenn mein System angehalten wird oder ich die Internetverbindung verliere, läuft ssh irgendwann ab und ich muss die Verbindung manuell wiederherstellen. Wie kann ich mein System so konfigurieren, dass es automatisch die Verbindung wiederherstellt, sobald eine Internetverbindung hergestellt ist?
Antwort1
Ich hatte früher ein "Reverse SSH"-Skript wie
laddr=*:0
[email protected]
port=some_port
while :; do
t0=$(date +%s)
ssh -R "$laddr:localhost:22" \
-o BatchMode=yes \
-o CheckHostIP=no \
-o ExitOnForwardFailure=yes \
-o ServerAliveInterval=15 \
-o ConnectTimeout=15 \
-p "$port" "$host"
t1=$(date +%s)
sleep "$((60 / (t1 - t0 + 1)))"
done
Das Programm sollte sofort nach dem Verbindungsverlust eine Verbindung herstellen, aber eine Minute warten, wenn SSH sofort beendet wurde, um den Server nicht zu überlasten oder eine wilde Schleife auszuführen.
Aber ich habe es vor langer Zeit durch etwas Besseres ersetzt – etwas „Serviceähnliches“.
Ähnliche Features bieten vermutlich auch Systemd & Co.