autossh
appears to fulfill my requirement, from the readme:
autossh is a program to start a copy of ssh and monitor it,
restarting it as necessary should it die or stop passing traffic.
Substituting the arguments given in the question:
autossh -M 0 -L 8080:localhost:8080 example.com -g
(the -M 0
is required to turn the monitoring loop off
)
I was able to kill -9
the connection from example.com
and see the connection re-established automatically by autossh
:
local$ autossh -M 0 -L 8080:localhost:8080 example.com -g
Last login: Wed Apr 25 03:23:56 2012 from 203.0.113.123
example.com$
Execute kill -9
on PID of connection on example.com
.
local$ Connection to example.com closed.
Last login: Wed Apr 25 03:34:01 2012 from 203.0.113.123
local$