Digitalocean VPCへのリバースSSH接続を行うNATの背後にPCがあります。私はこの逆SSH接続を自宅から利用してオフィスPCにログインし(許可されています)、ファイルをコピーしたり、その他の重要なことを行ったりします。
頻繁ではありませんが、オフィスのPCが再起動し(電源障害などが原因)、VPCとの逆SSH接続が切断されていることに気付きました。このような場合、自宅のPCからオフィスのPCに接続できません。
以下のスクリプトを実行して、オフィスPCで生成されたトラフィック(閲覧情報を共有する必要がないため)を逆接続+動的プロキシに匿名化します。
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
私は物理的にそこにいないので、再起動時に自分のオフィスPCで再びこのスクリプトを実行する方法はありません。この問題を解決するために、次のcrontabをインストールしました。
注:rev.sh
ファイルには上記の行が含まれています。証明書「digitalOcean」とrev.shはにありUbuntu home
ます。したがって、./rev.sh
Ubuntuターミナルで実行すると、動的プロキシを取得し、ym DigitalOceanサーバーにアクセスします。この方法は100%機能します。
ただし、次の方法でchrontabをインストールすると、ubuntu PCが動的プロキシを作成しません。Google Chromeからこのプロキシを確認すると、プロキシが接続を拒否していると表示されているので、これを確認できます。
これが私がルーツのクローンジョブとして試したクローンジョブです。私もこれらを通常のユーザーとして試しましたが、それでも機能しませんでした。
@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
これらも実行されませんでした。
私が間違いを見つけられるように親切にしてください。私の問題について、このWebサイトには同様の質問がたくさんあります。私はそれゆえ多くの答えを参照してきましたが、それらのどれも役に立たないようでした。
/var/log/cron*
。テスト目的の場合は、次のように単純に記述できます*/2 * * * * /path/to/script
。2分ごとにスクリプトが実行されます。また、cronを実行しているユーザーのメールを確認してください。それは根ですか?mail
コマンドを使用します。ああ、sshキーを使用していることがわかりますか?-i
切り替え後に完全なパスを指定しないと、cronジョブがそれを見つけることができないと思います。