Ho trovato questo file di servizio systemd per avviare l'autossh per mantenere un tunnel SSH: https://gist.github.com/thomasfr/9707568
[Unit]
Description=Keeps a tunnel to 'remote.example.com' open
After=network.target
[Service]
User=autossh
# -p [PORT]
# -l [user]
# -M 0 --> no monitoring
# -N Just open the connection and do nothing (not interactive)
# LOCALPORT:IP_ON_EXAMPLE_COM:PORT_ON_EXAMPLE_COM
ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p 22 -l autossh remote.example.com -L 7474:127.0.0.1:7474 -i /home/autossh/.ssh/id_rsa
[Install]
WantedBy=multi-user.target
C'è un modo per configurare systemd per avviare diversi tunnel in un servizio.
Non voglio creare file di servizio di sistema N, poiché voglio evitare copia + incolla.
Tutti i file di servizio sarebbero identici eccetto "remote.example.com" sarebbe sostituito con altri nomi host.
1,5 anni dopo ...
Ho fatto questa domanda circa 1,5 anni fa.
La mia mente è cambiata un po '. Sì, è bello poterlo fare con systemd (lo uso ancora), ma in futuro userò la gestione della configurazione.
Perché systemd dovrebbe implementare un linguaggio modello e sostituire% h?
Diversi mesi dopo penso che questo ciclo e il modello dovrebbero essere risolti con uno strumento che automatizza la configurazione. Ora uso uno strumento di questo elenco su Wikipedia .