J'ai trouvé ce fichier de service systemd pour démarrer autossh afin de maintenir 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
Existe-t-il un moyen de configurer systemd pour qu'il démarre plusieurs tunnels à la fois ? un service.
Je ne veux pas créer N fichiers de service système, car je veux éviter le copier-coller.
Tous les fichiers de service seraient identiques, à l'exception de "remote.example.com" qui serait remplacé par d'autres noms d'hôtes.
1,5 an plus tard ...
J'ai posé cette question il y a environ un an et demi.
J'ai changé d'avis. Oui, c'est bien de pouvoir le faire avec systemd, mais j'utiliserai la gestion de configuration à l'avenir.
Pourquoi systemd devrait-il implémenter un langage de template et remplacer %h ? Je pense que cela n'a pas de sens.
Plusieurs mois plus tard, je pense que ces boucles et ces modèles devraient être résolus à un autre niveau. J'utiliserais Ansible ou TerraForm pour cela maintenant.