Quando você inicia o autossh sem -f
, você obtém um shell. Enquanto o shell está funcionando, você recebe o encaminhamento de porta. Após o logout, o ssh termina com o código de saída 0 e o autossh sabe que não precisa iniciar a sessão ssh novamente.
Quando você inicia o autossh com -f
, ele passa -f
para ssh também. O ssh é executado em segundo plano e não fornece um shell. Como você não especificou nenhum outro sinalizador ou comando remoto, o ssh sai imediatamente com status 0 (nada a fazer) e o auto-reinício não o inicia novamente.
Basta adicionar a opção -N
para evitar:
-N Do not execute a remote command. This is useful for just forwarding
ports (protocol version 2 only)
Assim:
autossh -f -N -i /root/.ssh/id_rsa -R 2522:localhost:22 user@address