J'ai un PC derrière un NAT qui établit une connexion SSH inverse avec mon VPC Digitalocean. J'utilise cette connexion SSH inversée de chez moi pour me connecter à mon PC de bureau (j'y suis autorisé) et copier des fichiers et faire d'autres choses importantes.
Bien que ce ne soit pas souvent, j'ai remarqué que mon PC de bureau redémarre (en raison de pannes de courant, etc.) et rompt la connexion SSH inversée qu'il a établie avec mon VPC. Dans ce type de cas, je ne parviens pas à me connecter de mon ordinateur personnel à mon ordinateur de bureau.
J'exécute le script suivant pour créer la connexion inversée + proxy dynamique pour anonymiser mon trafic (car je ne suis pas obligé de partager les informations de navigation) généré sur le PC de bureau.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Il n'y a aucun moyen de réexécuter ce script sur mon ordinateur de bureau lors d'un redémarrage car je n'y suis pas physiquement. Afin de résoudre ce problème, j'ai installé la crontab suivante.
Remarque: le rev.sh
fichier contient la ligne ci-dessus. Le certificat "digitalOcean" et rev.sh est situé dans Ubuntu home
. Par conséquent, lorsque j'exécute ./rev.sh
dans mon terminal Ubuntu, j'obtiens un proxy dynamique et également l'accès au serveur ym DigitalOcean. Cette méthode fonctionne à 100%.
Cependant, lorsque j'installe le chrontab de la manière suivante, mon PC ubuntu ne fait jamais de proxy dynamique. Je peux le voir parce que lorsque je vérifie ce proxy à partir de Google Chrome, il dit que le proxy refuse la connexion.
Voici les cronejobs que j'ai essayés en tant que root cronejobs. J'ai également essayé ces derniers en tant qu'utilisateur normal, mais ils ne fonctionnaient toujours pas.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
J'ai ensuite installé un chrontab quelques minutes avant l'heure actuelle et j'ai attendu qu'il s'exécute.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
ceux-ci n'ont pas été exécutés non plus.
Veuillez être assez aimable pour m'aider à repérer mon erreur. Il y a beaucoup de questions similaires sur ce site sur mon problème. J'ai renvoyé de nombreuses réponses par la suite, mais aucune ne semblait aider.
/var/log/cron*
. À des fins de test, vous pouvez simplement écrire quelque chose comme*/2 * * * * /path/to/script
- il exécutera un script toutes les 2 minutes. Vérifiez également les e-mails de l'utilisateur exécutant cron. Est-ce root? Utilisez lamail
commande. Oh, je peux voir que vous utilisez la clé ssh? Je doute que cron job puisse le trouver si vous ne lui donnez pas un chemin complet après le-i
changement.