我在 NAT 后面有一台 PC,它与我的 Digitalocean VPC 建立反向 SSH 连接。我利用这个反向 SSH 连接从家里登录到我的办公室 PC(我被授权这样做)并复制文件和做其他重要的事情。
虽然不常见,但我注意到我的办公室 PC 重新启动(由于电源故障等)并中断了它与我的 VPC 建立的反向 SSH 连接。在这种情况下,我无法从我的家用 PC 连接到我的办公室 PC。
我运行以下脚本,使反向连接 + 动态代理匿名我在办公室 PC 上生成的流量(因为我不需要共享浏览信息)。
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
Run Code Online (Sandbox Code Playgroud)
重新启动后,我无法在办公室 PC 上再次运行 thsi 脚本,因为我不在那里。为了解决这个问题,我安装了以下 crontab。
注意:rev.sh文件包含上述行。证书“digitalOcean”和 rev.sh 位于Ubuntu home. 因此,当我./rev.sh在我的 Ubuntu 终端中执行时,我获得了一个动态代理,并且还可以访问 ym DigitalOcean 服务器。这种方法100%有效。
但是,当我使用以下方法安装 chrontab 时,我的 ubuntu PC 永远不会创建动态代理。我可以看到这一点,因为当我从谷歌浏览器检查这个代理时,它说代理拒绝连接。
这是我作为 root cronejobs 尝试过的 cronejobs。我也以普通用户的身份尝试过这些,但它们仍然不起作用。
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
Run Code Online (Sandbox Code Playgroud)
然后我在当前时间前几分钟安装了一个 chrontab …
我的办公室有一个默认网关,后面是一个本地网络,本地网络为包括我在内的所有计算机分配了 IP 地址。
我在安装了 Ubuntu 的办公室 PC 中担任管理员,并且在周末通过 SSH 访问计算机是必不可少的。
在办公室,我没有公共 IP,但我总是从 DHCP 获得相同的本地 IP。尽管我无法在主防火墙中设置端口转发,但我可以自由地在我的电脑中设置任何我喜欢的软件。
我的家用电脑也有一个公共 IP,它也运行 Linux。请注意,我无法安装类似 Team Viewer 的软件。
我该如何解决我的问题?