У меня есть компьютер за NAT, который устанавливает обратное соединение SSH с моим Digitalocean VPC. Я использую это обратное SSH-соединение из дома, чтобы войти в свой офисный компьютер (я уполномочен на это), копировать файлы и делать другие важные вещи.
Хотя и не часто, я заметил, что мой офисный компьютер перезагружается (из-за сбоя питания и т. Д.) И разрывает обратное соединение SSH, которое он установил с моим VPC. В таких случаях я не могу подключиться с домашнего компьютера к офисному компьютеру.
Я запускаю следующий сценарий, чтобы сделать обратное соединение + динамический прокси-сервер для анонимной обработки моего трафика (поскольку я не обязан обмениваться данными для просмотра), сгенерированного на офисном ПК.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Я не могу снова запустить этот скрипт на моем офисном ПК после перезагрузки, так как меня там физически нет. Для решения этой проблемы я установил следующий crontab.
Примечание: rev.sh
файл содержит вышеуказанную строку. Сертификат "digitalOcean" и rev.sh находится в Ubuntu home
. Поэтому, когда я выполняю ./rev.sh
в своем терминале Ubuntu, я получаю динамический прокси, а также доступ к серверу ym DigitalOcean. Этот метод работает на 100%.
Однако, когда я устанавливаю chrontab следующим способом, мой компьютер с Ubuntu никогда не создает динамический прокси. Я вижу это, потому что когда я проверяю этот прокси из Google Chrome, он говорит, что прокси отказывается от соединения.
Вот cronejobs, которые я пробовал как корни cronejobs. Я также попробовал их как обычный пользователь, но они не работали.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Затем я установил chrontab за несколько минут до текущего времени и дождался его запуска.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
они тоже не выполнялись.
Пожалуйста, будьте любезны, чтобы помочь мне определить мою ошибку. На моем сайте много похожих вопросов по моей проблеме. Поэтому я привел много ответов, но ни один из них не помог.
/var/log/cron*
. В целях тестирования вы можете просто написать что-то вроде этого*/2 * * * * /path/to/script
- он будет запускать скрипт каждые 2 минуты. Также проверьте почту для пользователя cron. Это рут? Используйтеmail
команду. О, я вижу, что вы используете ключ SSH? Я сомневаюсь, что cron сможет найти его, если вы не укажете полный путь к нему после-i
переключения.