lançar túnel reverso com autossh na inicialização no Ubuntu

1

Gostaria de lançar um túnel reverso ssh no lançamento do sistema. A seguinte linha me permite estabelecer o túnel bem - mas acabo sendo logado em server que eu não quero, especialmente não de um script de inicialização.

/usr/bin/autossh -M 22222 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my/key.key -R 9999:localhost:22 ubuntu@server

man autossh diz que a opção -f deve fazer o que eu preciso:

causes autossh to drop to the background before running ssh.

mas o problema é que não parece funcionar quando eu altero meu comando para usr/bin/autossh -f -M... . Eu tentei isso como parte do meu script de inicialização também, que se parece com:

#! /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 /work/cloudparc/docs/EtherWan/etherwan.key -R 9999:localhost:22 [email protected]
    ;;
    stop)
        echo -n "Shutting down utossk"
        /usr/bin/killall -KILL autossh
    ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit 0

Mas eu preciso de uma opção para jogá-lo em segundo plano, como faço isso se a opção -f não funcionar para mim?

    
por cerr 03.11.2018 / 22:16

1 resposta

1

O que você está procurando é a opção -N . Da página de manual do SSH:

-N Do not execute a remote command. This is useful for just for‐ warding ports.

Seu comando completo seria:

/usr/bin/autossh -M 22222 -f -N -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my/key.key -R 9999:localhost:22 ubuntu@server

Qual é também o que eu estou usando (com o cron @reboot ), com sucesso.

    
por 04.11.2018 / 14:55