我有一台位于NAT后面的PC,该PC与我的Digitalocean VPC建立了反向SSH连接。我在家中利用这种反向的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浏览器检查此代理时,它表示代理正在拒绝连接。
这是我尝试过的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键?我怀疑如果您在-i
切换后不提供完整的路径,cron作业是否能够找到它。