/usr/bin/sudo /usr/bin/autossh -M 0 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -fw 0:0 xxx.xxx.xxx.xxx /bin/true
autossh is a wrapper to monitor ssh and restart it, if it terminates: (although ssh now includes some of these functions)
http://www.harding.motd.ca/autossh/
-M 0 (-M 0 will turn the monitoring off, and autossh will only restart ssh on ssh exit.)
Decided to turn this off, now that the ServerAliveInterval 60 is actually an option in openssh
---Both -o options are from openssh, as is the -fw option.
-o "ServerAliveInterval 60" =
see below
-o "ServerAliveCountMax 3" =
see below
-fw = background and make a tunnel (format 0:0 for tun0 and tun0 on the local and remote machines)
xxx.xxx.xxx.xxx = remote machine for tunnel. (best results with ssh-keys set up)
the /bin/true at the end I am not 100% clear why I needed that...
****What you get is two new interfaces, tun0 and tun0. One on the local machine and one remote.
I was using to make a secure tunnel and make a remote machine react like inside network.
---These days I guess you do not even really need the "autossh" I was using it before I knew openssh had these options.
---There may be a better use of autossh I am not doing ...
BELOW:
ServerAliveCountMax
Sets the number of server alive messages (see below) which may be
sent without ssh(1) receiving any messages back from the server.
If this threshold is reached while server alive messages are
being sent, ssh will disconnect from the server, terminating the
session. It is important to note that the use of server alive
messages is very different from TCPKeepAlive (below). The server
alive messages are sent through the encrypted channel and
therefore will not be spoofable. The TCP keepalive option
enabled by TCPKeepAlive is spoofable. The server alive mechanism
is valuable when the client or server depend on knowing when a
connection has become inactive.
The default value is 3. If, for example, ServerAliveInterval
(see below) is set to 15 and ServerAliveCountMax is left at the
default, if the server becomes unresponsive, ssh will disconnect
after approximately 45 seconds. This option applies to protocol
version 2 only.
ServerAliveInterval
Sets a timeout interval in seconds after which if no data has
been received from the server, ssh(1) will send a message through
the encrypted channel to request a response from the server. The
default is 0, indicating that these messages will not be sent to
the server. This option applies to protocol version 2 only.