Encontré este archivo de servicio systemd para iniciar autossh para mantener un túnel 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
¿Hay alguna manera de configurar systemd para iniciar varios túneles en un servicio?
No quiero crear archivos de servicio del sistema N, ya que quiero evitar copiar y pegar.
Todos los archivos de servicio serían idénticos, excepto que "remote.example.com" se reemplazaría con otros nombres de host.
1.5 años después ...
Hice esta pregunta hace aproximadamente 1,5 años.
Mi mente ha cambiado un poco. Sí, es bueno que pueda hacer esto con systemd (todavía lo uso), pero usaré la gestión de configuración en el futuro.
¿Por qué systemd debería implementar un lenguaje de plantilla y sustituir% h?
Varios meses después, creo que este ciclo y la plantilla deberían resolverse con una herramienta que automatice la configuración. Ahora uso una herramienta de esta lista en wikipedia .