Uso de Upstart para administrar el túnel inverso AutoSSH

9

Estoy usando upstart para administrar un túnel SSH inverso a través de autossh. Cuando hago un "túnel de inicio de sudo", la conexión sale bien; sin embargo, el comando no se ejecuta automáticamente cuando se inician los servicios de red, y no importa lo que cambie la propiedad "iniciar en", parece que no puedo hacer que esto se ejecute de manera automatizada.

Sin embargo, como dije, puedo comenzar / detenerlo bien.

Aquí está mi /etc/init/tunnel.conf, con cosas sensibles eliminadas:

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
fuente
Supongo que tampoco necesito la propiedad env, que quedó del trabajo que copié y modifiqué.
Nuri Hodges

Respuestas:

12

Lo descubrí, necesitaba esperar un dispositivo específico, aquí está mi archivo de trabajo Upstart de trabajo:

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
fuente
Para múltiples interfaces: start on (net-device-up IFACE=eth0 or net-device-up IFACE=wlan0).
kontextify