Skip to content

Instantly share code, notes, and snippets.

Last active May 9, 2024 16:59
Show Gist options
  • Save thomasfr/9707568 to your computer and use it in GitHub Desktop.
Save thomasfr/9707568 to your computer and use it in GitHub Desktop.
Systemd service for autossh
Description=Keeps a tunnel to '' open
# -p [PORT]
# -l [user]
# -M 0 --> no monitoring
# -N Just open the connection and do nothing (not interactive)
ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p 22 -l autossh -L 7474: -i /home/autossh/.ssh/id_rsa
Copy link

stokito commented Jul 4, 2023

JFYI: I created an SSH tunnel SystemD service that works without the autossh

Copy link

zhangw commented Dec 31, 2023

@jotakar :

What I see is that service stop autossh every few minutes, why? where is the error?

Don't use -f when using autossh as a systemd simple service. It will fork autossh (put in the background) and confuse systemd into thinking it ended.


Of course you do, without it autossh will give up if the very first connection attempt fails.

Systemd's Restart=always and RestartSec=60 can take care of that. You usually want autossh to fail fast if it can't do the first connection, as it usually means misconfiguration or authentication issues, and giving up after first attempt helps highlighting that on the journalctl logs.

Yes, I just remove the '-f' option, it seems fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment