Ich fand diese Systemd-Service-Datei, um autossh zu starten und einen SSH-Tunnel aufrechtzuerhalten: 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
Gibt es eine Möglichkeit, systemd so zu konfigurieren, dass mehrere Tunnel in einem Dienst gestartet werden?
Ich möchte keine N Systemdienstdateien erstellen, da ich das Kopieren und Einfügen vermeiden möchte.
Alle Servicedateien wären identisch, außer dass "remote.example.com" durch andere Hostnamen ersetzt würde.
1,5 Jahre später ...
Ich habe diese Frage vor ungefähr 1,5 Jahren gestellt.
Meine Meinung hat sich ein bisschen geändert. Ja, es ist schön, dass Sie dies mit systemd tun können (ich benutze es immer noch), aber ich werde in Zukunft das Konfigurationsmanagement verwenden.
Warum sollte systemd eine Vorlagensprache implementieren und% h ersetzen?
Einige Monate später denke ich, dass diese Schleife und das Templating mit einem Tool gelöst werden sollten, das die Konfiguration automatisiert. Ich benutze jetzt ein Tool dieser Liste bei Wikipedia .