Usando o Upstart para gerenciar o túnel reverso do AutoSSH

9

Estou usando o iniciante para gerenciar um túnel SSH reverso via autossh. Quando eu faço um "túnel de inicialização do sudo", a conexão ocorre muito bem; no entanto, o comando não está sendo executado automaticamente quando os serviços de rede são iniciados, e não importa o que eu altere a propriedade "start on", não consigo executar isso de forma automatizada.

No entanto, como eu disse, posso iniciar / parar muito bem.

Aqui está o meu /etc/init/tunnel.conf, com coisas sensíveis removidas:

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
fonte
Acho que também não preciso da propriedade env, que sobrou do trabalho que copiei e modifiquei.
Nuri Hodges

Respostas:

12

Entendi, eu precisava esperar por um dispositivo específico, aqui está o meu arquivo de trabalho do Upstart:

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
fonte
Para várias interfaces: start on (net-device-up IFACE=eth0 or net-device-up IFACE=wlan0).
Kdextify