Encontrei este arquivo de serviço systemd para iniciar o autossh e manter um 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
Existe uma maneira de configurar o systemd para iniciar vários túneis em um serviço.
Não quero criar arquivos de serviço do sistema N, pois quero evitar copiar e colar.
Todos os arquivos de serviço seriam idênticos, exceto que "remote.example.com" seria substituído por outros nomes de host.
1,5 ano depois ...
Eu fiz essa pergunta aproximadamente 1,5 ano atrás.
Minha mente mudou um pouco. Sim, é bom que você possa fazer isso com o systemd (eu ainda o uso), mas usarei o gerenciamento de configurações no futuro.
Por que o systemd deve implementar uma linguagem de modelo e substituir% h?
Vários meses depois, acho que esse loop e modelagem devem ser resolvidos com uma ferramenta que automatiza a configuração. Eu uso uma ferramenta desta lista na wikipedia agora.