我们使用 CM4 作为工控主机,用于我们的自动化检测养殖环境。
我们将自动化的机器安装在另外的一个城市大山了,用了一个 4G 的路由器来提供网络。
由于设备是在测试阶段,我们需要远程登录主机。
由于主机放在一个局域网里面,我们无法直接访问。
我们使用 haskell-hole 来将本地的 ssh 服务转发到云服务器上面, 然后我们就可以使用自己的机器访问转发后的端口来登录主机。
假设云服务器的IP 为 111.230.171.42, 需要根据实际情况更换成自己的 IP
1、在云服务器上面执行
holed -H tcp://:14000 --addr tcp://:14001 -c aes128 -k simplekey
开启一个接收端口(14000) 和 转发端口 (14001)
2、在主机上执行
hole -H tcp://111.230.171.42:14000 -a tcp://:22 -c aes128 -k simplekey
我们把主机 22 端口转发到 云服务器的接收端口 14000 上面,然后我们访问 14001 端口就相当于访问 主机的 22 端口
3、远程访问
ssh ubuntu@111.230.171.42 -p 14001
输入主机的密码就可以登录了。
4、代理访问主机的控制界面
ssh -D 9050 ubuntu@111.230.171.42 -p 14001
我们开启一个代理端口为 9050 的 sock5 代理服务,通过这个代理服务我们就可以访问主机的控制界面了。