Estou usando o ssh como proxy SOCKS5, conectando-me ao meu servidor pessoal. Quando meu sistema é suspenso ou eu perco a conexão com a Internet, o ssh eventualmente expirará, forçando-me a reconectar manualmente. Como posso configurar meu sistema para se reconectar automaticamente assim que uma conexão com a Internet for estabelecida?
Responder1
Eu costumava ter um script "ssh reverso" 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 deveria tentar se conectar imediatamente após a perda da conexão, mas espere um minuto se o ssh estiver encerrando imediatamente, para não prejudicar o servidor ou executar um loop selvagem.
Mas há muito tempo o substituí por algo melhor - tipo "serviço".
Systemd & co provavelmente estão oferecendo recursos semelhantes.