Mam komputer za NATem, który wykonuje odwrotne połączenie SSH z moim Digitalocean VPC. Korzystam z tego odwróconego połączenia SSH z domu, aby zalogować się do mojego biurowego komputera (jestem do tego upoważniony) i kopiować pliki oraz robić inne ważne rzeczy.
Chociaż nie często, zauważyłem, że mój komputer biurowy uruchamia się ponownie (z powodu awarii zasilania itp.) I przerywa odwrócone połączenie SSH, które nawiązało z moim komputerem VPC. W takich przypadkach nie mogę połączyć się z komputera domowego z komputerem biurowym.
Uruchamiam następujący skrypt, aby połączenie odwrócone + dynamiczny serwer proxy w celu anonimizacji mojego ruchu (ponieważ nie muszę udostępniać informacji o przeglądaniu) generowanego na komputerze w biurze.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Po ponownym uruchomieniu nie ma możliwości ponownego uruchomienia skryptu thsi na komputerze w biurze, ponieważ nie ma go fizycznie. Aby rozwiązać ten problem, zainstalowałem następujący crontab.
Uwaga: rev.sh
plik zawiera powyższą linię. Certyfikat „digitalOcean” i rev.sh znajduje się w Ubuntu home
. Dlatego po uruchomieniu ./rev.sh
w terminalu Ubuntu uzyskuję dynamiczny serwer proxy, a także dostęp do serwera ym DigitalOcean. Ta metoda działa w 100%.
Jednak gdy instaluję chrontab w następujący sposób, Mój komputer ubuntu nigdy nie tworzy dynamicznego serwera proxy. Widzę to, ponieważ gdy sprawdzam ten serwer proxy z Google Chrome, mówi, że serwer proxy odmawia połączenia.
Oto cronejobs, których próbowałem jako root cronejobs. Próbowałem również jako zwykły użytkownik, ale nadal nie działały.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Następnie zainstalowałem chrontab na kilka minut przed bieżącą godziną i czekałem, aż się uruchomi.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
te również się nie wykonały.
Proszę, bądź na tyle uprzejmy, aby pomóc mi dostrzec mój błąd. Na tej stronie internetowej jest wiele podobnych pytań dotyczących mojego problemu. Odniosłem się zatem do wielu odpowiedzi, ale żadna z nich nie pomogła.
/var/log/cron*
. Do celów testowych możesz po prostu napisać coś takiego*/2 * * * * /path/to/script
- uruchamia skrypt co 2 minuty. Sprawdź także maile dla użytkownika uruchamiającego crona. Czy to root? Użyjmail
polecenia. Och, widzę, że używasz klucza ssh? Wątpię, czy zadanie crona będzie w stanie je znaleźć, jeśli nie podasz pełnej ścieżki do niego po-i
zmianie.