Estoy usando ssh como proxy SOCKS5 y me conecto a mi servidor personal. Cuando mi sistema se suspende o pierdo la conexión a Internet, el ssh eventualmente expirará, lo que me obligará a volver a conectarme manualmente. ¿Cómo puedo configurar mi sistema para que se vuelva a conectar automáticamente tan pronto como se establezca una conexión a Internet?
Respuesta1
Solía tener un script "ssh inverso" como
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
que se suponía que debía intentar conectarse inmediatamente después de que se perdiera la conexión, pero esperar un minuto si ssh terminaba inmediatamente, para no dañar el servidor o ejecutar un bucle salvaje.
Pero hace mucho tiempo que lo reemplacé con algo mejor, parecido a un "servicio".
Systemd & co probablemente ofrezcan características similares.