Eu gostaria de lançar um túnel reverso ssh no lançamento do sistema. A linha a seguir me permite estabelecer o túnel bem - mas acabo sendo conectado ao server
que não quero, especialmente a partir 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 -f
opção deve fazer o que eu preciso:
faz com que o autossh caia em segundo plano antes de executar o ssh.
mas o problema é que não parece funcionar quando mudo 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 /path/to/the.key -R pppp:localhost:22 user@server
;;
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?
O que você está procurando é a
-N
opção. Da página de manual do SSH:Seu comando completo seria:
Que também estou usando (com cron's
@reboot
), com sucesso.Substitua
pppp:
pela porta local que você gostaria de usar.