I am using autossh
to build a reverse ssh tunnel but from time to time the tunnel stops working and I need to kill autossh and start it again.
/etc/cron.d/autossh
@reboot autossh -f -nNT -R 3269:intranet.example.com:3269 public.example.com &
autossh seems to remain in a strange state, where the forwarded port is still open but you get no response from the other side. By restarting autossh this is solved.
How can I prevent this problem from occurring?
Use the
ServerAliveInterval
(with a value in seconds) make thessh
client send a null (keepalive) packet over the encrypted channel every so often in order to detect a broken connection:You should probably also set the corresponding
ClientAliveInterval
setting in/etc/ssh/sshd_config
on your server to make the server drop dead client connections too: