远程访问多个 Raspberry Pi。如何操作?

远程访问多个 Raspberry Pi。如何操作?

假设我有 20 个 Raspberry Pi,每个都位于不同的城市。我希望能够从我的办公室远程安全地监控它们、向它们传输文件/从它们传输文件、控制它们等。

这几天一直在寻找解决办法,最后找到了以下几种解决办法:

  1. 转发端口
  2. VPN
  3. 使用一些第三方网站,如 RealVNC、Remote3.it、TeamViewer 等。

据我了解,端口转发是此列表中最不安全的解决方案。此外,第三方网站对免费版本中可以访问的 Pi 数量有限制。此外,它们不是开源的,因此您无法基于它们设计所需的监控系统/界面。因此,VPN 似乎总体上是更好的解决方案。

至于 VPN,我在网上搜索了很多,但在大多数相关教程中,RPi 是服务器,PC 是客户端。这样没有问题,除非你只有 1 个 RPi 可以远程访问。

现在我的问题如下:

  1. 如果我想远程访问不同位置的 20 个 RP,并从 1 台 PC 监控它们,我应该使用什么配置!?20 个 VPN 服务器 + 1 个客户端!?这怎么可能!?或者我应该将配置更改为 1 个服务器 + 20 个客户端!?如果是这样,我该怎么做!?
  2. 还有其他方法可以从办公室安全地远程访问 RPi 吗?(除了上面列出的 3 种方法)?

谢谢。

答案1

只需配置一个所有远程机器都可以访问的 VPN 服务器,并让它们登录该 VPN。

使用您喜欢的任何 VPN,例如广泛记录的 OpenVPN(提示:这通常称为公路战士配置,因为它用于外部员工登录公司网络)。

答案2

简便、快捷
最简单的方法是将非标准端口转发到 Raspberry Pi 上的 SSH 端口。例如,11111(路由器上的外部)到 22(Pi 上的内部)。如果远程位置使用动态 IP,您还应该配置 dyndns 之类的服务,以便始终连接到当前使用的 IP。

更复杂和安全一些
这将需要更多的时间和配置工作,但如果是商业或更安全的环境,那么这是值得的。

选项 A:

在每个 Raspberry Pi 上配置一个 OpenVPN 服务器,并在必要时单独连接到每个服务器。

优点:

  • 一旦您有了有效的配置,您就可以将该配置复制粘贴到所有 Raspberry Pi 中。
  • 您甚至可以在所有 Pi 上使用相同的服务器证书,从而无需维护 20 个服务器证书和每个 1 个客户端证书。

缺点

  • 如果安全是必需的,您需要生成并维护 20 个服务器证书和 20 个客户端证书。
  • 需要创建和维护 20 个服务器证书和 20 个客户端证书
  • 需要配置和维护 20 个 DynDNS(或类似)服务(如果远程位置使用动态 IP)
  • 由于每个 Pi 直接暴露在互联网上,因此它们应该始终运行最新的软件。
  • 防火墙/路由器需要至少 1 条到 Pi 的端口转发规则

选项 B:

配置一个集中式 OpenVPN 服务器,让每个 Pi 单独连接到该服务器。如有必要,您甚至可以将 Raspberry 用作远程网络的网关,以执行其他管理任务。

优点

  • 仅需一台服务器和一个服务器证书
  • 20 个客户端证书可以轻松集中维护和撤销(如有必要)
  • 客户端无需开放端口
  • 必要时可远程访问网络。(使用客户端作为网关)

缺点:-?

相关内容