Tôi có một PC phía sau NAT tạo kết nối SSH ngược với VPC Digitalocean của tôi. Tôi sử dụng kết nối SSH đảo ngược này từ nhà để đăng nhập vào PC văn phòng của tôi (tôi được ủy quyền để làm như vậy) và sao chép các tệp và làm những việc quan trọng khác.
Mặc dù không thường xuyên, tôi nhận thấy rằng PC văn phòng của tôi khởi động lại (do mất điện, v.v.) và phá vỡ kết nối SSH bị đảo ngược mà nó đã thực hiện với VPC của tôi. Trong những trường hợp như vậy, tôi không thể kết nối từ PC ở nhà với PC văn phòng.
Tôi chạy đoạn mã sau để tạo kết nối đảo ngược + proxy động để ẩn danh lưu lượng truy cập của tôi (Vì tôi không bắt buộc phải chia sẻ thông tin duyệt web) được tạo tại PC văn phòng.
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Không có cách nào tôi có thể chạy lại tập lệnh thsi trên PC văn phòng của mình khi khởi động lại vì tôi không ở đó. Để giải quyết vấn đề này, tôi đã cài đặt crontab sau.
Lưu ý: rev.sh
tập tin chứa dòng trên. Chứng chỉ "digitalOcean" và rev.sh được đặt trong Ubuntu home
. Do đó, khi tôi thực thi ./rev.sh
trong thiết bị đầu cuối Ubuntu của mình, tôi có được một proxy động và cũng có thể truy cập vào máy chủ yO DigitalOcean. Phương pháp này hoạt động 100%.
Tuy nhiên, khi tôi cài đặt chrontab theo phương pháp sau, My ub Ubuntu PC không bao giờ tạo proxy động. Tôi có thể thấy điều này bởi vì khi tôi kiểm tra proxy này từ Google Chrome, nó báo proxy đang từ chối kết nối.
Dưới đây là các cronejobs tôi đã thử như rễ cronejobs. Tôi cũng đã thử những thứ này như một người dùng bình thường, nhưng chúng vẫn không hoạt động.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Sau đó tôi đã cài đặt một chrontab một vài phút trước thời điểm hiện tại và chờ đợi nó thực thi.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
những điều này cũng không thực hiện.
Hãy tử tế để giúp tôi phát hiện ra sai lầm của mình. Có nhiều câu hỏi tương tự trên trang web này về vấn đề của tôi. Tôi đã giới thiệu nhiều câu trả lời do đó nhưng không ai trong số họ dường như giúp đỡ.
/var/log/cron*
. Đối với mục đích thử nghiệm, bạn có thể chỉ cần viết một cái gì đó như*/2 * * * * /path/to/script
- nó sẽ chạy một kịch bản cứ sau 2 phút. Đồng thời kiểm tra thư cho người dùng đang chạy cron. Có phải là root? Sử dụngmail
lệnh. Ồ, tôi có thể thấy rằng bạn đang sử dụng khóa ssh? Tôi nghi ngờ rằng công việc định kỳ sẽ có thể tìm thấy nó nếu bạn không cung cấp đường dẫn đầy đủ cho nó sau khi-i
chuyển đổi.