Verwenden von Upstart zum Verwalten des AutoSSH-Reverse-Tunnels

9

Ich verwende Upstart, um einen Reverse-SSH-Tunnel über Autossh zu verwalten. Wenn ich einen "Sudo Start Tunnel" mache, kommt die Verbindung gut zustande; Der Befehl wird jedoch nicht automatisch ausgeführt, wenn die Netzwerkdienste gestartet werden, und unabhängig davon, was ich an der Eigenschaft "Start on" ändere, scheint es mir nicht möglich zu sein, diesen Befehl automatisch auszuführen.

Wie ich bereits sagte, kann ich es jedoch problemlos starten / stoppen.

Hier ist meine /etc/init/tunnel.conf, mit sensiblen Dingen, die entfernt wurden:

description "SSH Tunnel"

start on started networking
stop on stopping networking

respawn

env DISPLAY=:0.0

exec autossh -nNT -R 22100:localhost:22 [email protected] -p 2201
Nuri Hodges
quelle
Ich glaube, ich brauche auch nicht die env-Eigenschaft, die nur von dem Job übrig geblieben ist, den ich kopiert und geändert habe.
Nuri Hodges

Antworten:

12

Ich habe herausgefunden, dass ich auf ein bestimmtes Gerät warten musste. Hier ist meine Arbeits-Upstart-Jobdatei:

description "SSH Tunnel"

start on (net-device-up IFACE=eth0)
stop on runlevel[016]

respawn

env DISPLAY=:0.0

exec autossh -nNT -o ServerAliveInterval=15 -R 22100:localhost:22 [email protected] -p 2201
Nuri Hodges
quelle
Für mehrere Schnittstellen : start on (net-device-up IFACE=eth0 or net-device-up IFACE=wlan0).
kontextify