我有多个运行 Arch Linux(无 GUI)的树莓派,我需要在其中访问。这些 pi 位于每个唯一位置的防火墙后面。目前我使用 openvpn 连接到这些系统,但是每个许可证的系统成本很高。我使用他们的访问服务器。
因此,我正在尝试设计和设置一个系统,使我能够登录到我的 VPN 服务器 (vps) 并运行命令来搜索特定名称 (OfficeDevice1991),例如:customcommandsearch "OfficeDevice1991"
然后它返回 IP机器的地址或我可以用来 SSH 的东西。我也在寻找运行命令以列出每个活动连接设备的能力。它列出了 IP、名称以及它可能活动了多长时间。
为此,我当然需要创建包含设备名称的内容(在本例中为 OfficeDevice1991),然后该 pi 将能够连接到我的 vps 公共服务器。从公共服务器,我可以登录并搜索连接到它的每个设备,并返回 ssh 所需的信息。
我一直在研究反向 SSH,到目前为止,我使用以下命令从我的 vps 连接并访问了我的一个测试 pi:
PI:
ssh -fN -R 12345:localhost:22 -i /publickeyfile useraccount@ip //Pi's command to connect to vpn
虚拟主机:
ssh -p 12345 useraccount@localhost //command for vpn to connect to pi
这很好用,但是使用这种方法,如果我要实现它,我会遇到一些问题:
- 我需要设置唯一的未使用端口
- 保持这些端口/隧道打开的一些方法
- 我需要想出一个系统来识别每个设备。我可以将每个端口记录到本地文本文件中的名称吗?如果可能的话,能够将其包含在每个设备的 ssh 设置中将是有益的。我仍然需要确保我使用的端口没有被任何其他程序或任何已经存在的设备使用。
我不想做的事
检查每个 RPI 可以免费使用哪些端口
必须手动编辑
.ssh/config
以添加一个名称来代表从上面第 1 部分分配给 RPI 的每个端口。
我写这篇文章是为了提供信息/帮助,了解我的目标应该做什么。
谁能给我一个合适的解决方案?