Forrest logo
back to the autossh tool

autossh:tldr:f3a46

autossh: Run in the background, with no monitoring port and no remote shell, exiting if the port forward fails.
$ autossh -f -M 0 -N -o "ServerAliveInterval 10" -o "ServerAliveCountMax 3" -o ExitOnForwardFailure=yes -L ${local_port}:localhost:${remote_port} ${user}@${host}
try on your machine

This command is using the autossh tool to establish a secure tunnel between a local machine and a remote server.

Here is the breakdown of each option:

  • -f: This option runs autossh in the background.
  • -M 0: This option disables the monitoring port. Normally, autossh uses a port to monitor the connection, but setting it to 0 disables this feature.
  • -N: This option tells autossh not to execute any remote commands. It is used when you only need to establish the connection without running any specific commands on the remote server.
  • -o "ServerAliveInterval 10": This sets the interval (in seconds) at which autossh sends keep-alive messages to the server to check if the connection is still active.
  • -o "ServerAliveCountMax 3": This sets the maximum number of keep-alive messages that can be sent without receiving any response before considering the connection as inactive.
  • -o ExitOnForwardFailure=yes: This option tells autossh to terminate the connection if it fails to set up the specified port forwarding.
  • -L ${local_port}:localhost:${remote_port}: This sets up local port forwarding. Any traffic sent to localhost:${local_port} on the local machine will be forwarded to localhost:${remote_port} on the remote server.
  • ${user}@${host}: Specifies the user and the hostname (or IP address) of the remote server to connect to.

In summary, this command establishes a persistent SSH tunnel and forwards local traffic from ${local_port} to the remote ${remote_port} on the ${host} machine, using the SSH credentials for ${user}. The ServerAliveInterval and ServerAliveCountMax options ensure the connection stays active, and ExitOnForwardFailure terminates the connection if the port forwarding fails.

This explanation was created by an AI. In most cases those are correct. But please always be careful and never run a command you are not sure if it is safe.
back to the autossh tool