Znalazłem ten plik usługi systemowej, aby uruchomić autossh, aby utrzymać tunel 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
Czy istnieje sposób skonfigurowania systemd, aby uruchamiał kilka tuneli w jednej usłudze.
Nie chcę tworzyć plików usługi systemowej N, ponieważ chcę uniknąć kopiowania i wklejania.
Wszystkie pliki usług byłyby identyczne, z wyjątkiem „remote.example.com” zostałyby zastąpione innymi nazwami hosta.
1,5 roku później ...
Zadałem to pytanie około 1,5 roku temu.
Mój umysł trochę się zmienił. Tak, fajnie, że możesz to zrobić za pomocą systemd (nadal go używam), ale w przyszłości będę używać zarządzania konfiguracją.
Dlaczego systemd powinien wdrożyć język szablonów i zastąpić% h?
Kilka miesięcy później myślę, że tę pętlę i szablony należy rozwiązać za pomocą narzędzia automatyzującego konfigurację. Używam teraz jednego narzędzia z tej listy na wikipedii .