lançar túnel reverso no init com autossh em segundo plano

2

Eu preciso de um script de inicialização que estabeleça uma conexão de túnel reverso para um servidor. Eu criei o seguinte script de início:

#! /bin/sh
### BEGIN INIT INFO
### END INIT INFO
case "$1" in
    start)
        echo "Starting autossh"
        /usr/bin/autossh -M 22222 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my.key -R 9999:localhost:22 ubuntu@host
    ;;
    stop)
        echo -n "Shutting down autossh"
        /usr/bin/killall -KILL autossh
    ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit 0

O que tem um problema: ele não inicia o processo em segundo plano, caso contrário, ele funciona conforme o esperado. Eu tentei usar o sinalizador -f e alterei a linha start) para /usr/bin/autossh -f -M 22222 , mas isso não parece funcionar e estou me perguntando por quê. O que estou fazendo de errado, a man page diz

-f' causes autossh to drop to the background before running ssh.

O que está acontecendo aqui?

Em /var/log/syslog no servidor, posso ver:

Nov 3 22:01:10 ip-172-31-33-223 systemd[1]: Started Session 1524 of user ubuntu.

com e sem o sinalizador -f , ou seja, o cliente estabelece uma conexão com host , mas quando o sinalizador -f está presente, ele não me permitirá efetuar login por meio do localhost na porta 9999 .... : o

    
por cerr 03.11.2018 / 22:26

0 respostas