Eu tenho um PC atrás de um NAT que faz uma conexão SSH reversa ao meu VPC Digitalocean. Utilizo essa conexão SSH invertida de casa para fazer login no PC do meu escritório (estou autorizado a fazê-lo), copiar arquivos e fazer outras coisas importantes.
Embora não seja frequente, notei que o PC do escritório reinicia (devido a falhas de energia, etc.) e interrompe a conexão SSH invertida que ele fez com o meu VPC. Nesse tipo de caso, não consigo conectar do meu PC em casa ao meu escritório.
Executo o script a seguir para fazer a conexão reversa + o proxy dinâmico para anonimizar meu tráfego (como não sou obrigado a compartilhar informações de navegação) gerado no PC do escritório.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Não há como executar esse script novamente no PC do escritório após a reinicialização, pois não estou lá fisicamente. Para resolver esse problema, instalei o seguinte crontab.
Nota: o rev.sh
arquivo contém a linha acima. O certificado "digitalOcean" e rev.sh está localizado em Ubuntu home
. Portanto, quando executo ./rev.sh
no meu terminal Ubuntu, obtenho um proxy dinâmico e também acesso ao servidor DigitalOcean. Este método funciona 100%.
No entanto, quando instalo o chrontab no método a seguir, meu PC ubuntu nunca cria um proxy dinâmico. Percebo isso porque, quando verifico esse proxy do Google Chrome, ele diz que o proxy está recusando a conexão.
Aqui estão os cronejobs que tentei como raízes cronejobs. Eu também tentei isso como um usuário normal, ainda assim eles não funcionaram.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Instalei um chrontab alguns minutos antes da hora atual e esperei que ele fosse executado.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
estes também não foram executados.
Por favor, tenha a gentileza de me ajudar a identificar meu erro. Há muitas perguntas semelhantes neste site sobre o meu problema. Eu já referi muitas respostas, mas nenhuma delas parecia ajudar.
/var/log/cron*
. Para fins de teste, você pode simplesmente escrever algo como*/2 * * * * /path/to/script
- ele executará um script a cada 2 minutos. Verifique também se há e-mails para o usuário executando o cron. É raiz? Use omail
comando Oh, eu posso ver que você está usando a chave ssh? Duvido que o trabalho cron possa encontrá-lo se você não fornecer um caminho completo para ele após a-i
troca.