【问题标题】:Remote access to beaglebone blue远程访问 beaglebone blue
【发布时间】:2021-09-01 20:55:29
【问题描述】:

我正在从事一个涉及 Beaglebone blue 的个人项目。我想从任何地方远程访问它。我不确定最好的方法是什么。我知道我可以只转发相应的端口(不安全)或类似的东西,但我想避免太多的安全漏洞。该板控制着我计划在 UI 中显示的相机,它还允许我移动相机。有这么多公司拥有可以从任何地方控制的设备……那我该怎么做呢?

【问题讨论】:

  • 您对“远程访问”的定义是什么?如果是SSH,那么就很简单了。只需转发端口(在公共接口上使用端口 22 以外的端口以忽略 99.99% 的自动攻击),确保您的 SSH 服务器始终是最新的,并将其配置为仅允许通过密钥对(而非密码)登录。您的个人项目再安全不过了。所有其他解决方案都会复杂得多。
  • 我还将创建一个托管在 beaglebone 上的 Web UI。我只会在开发板启动时启动脚本,但我需要远程访问 Web UI,因为它将调用我的烧瓶 api,它将处理控制板。
  • 当然可以,但是您可以轻松地通过 SSH 连接来隧道化 Web UI。只需告诉 SSH 客户端将本地端口 80 转发到远程端口 80(通常通过命令行选项 -L 80:localhost:80 或 SSH GUI 客户端中的等效项),您就可以访问在地址为 localhost:80 的 BB 上运行的 UI。我仍然认为这是最实用的自制远程访问解决方案。

标签: remote-access beagleboard


【解决方案1】:

这个问题有很多解决方案。我会提到一些。

一般而言,您的设备应该:

有一个公网IP(如果你的基础设施允许并且你的ISP提供这个服务),然后你就可以直接访问了。

使用某些服务连接到在线服务器:

  1. 使用 VPN。将您的设备连接到 openVPN 服务器(我认为这是最流行的解决方案)。 Wiregurd 也很受欢迎
  2. 为其服务发现功能使用 consul 或 etcd 或类似服务
  3. 使用云提供商(AWS、Azure、GCP 等)物联网服务产品

【讨论】:

  • 公共 IP 我假设您的意思是通过我的 ISP 提供的静态 IP 对吧?
  • 很遗憾,我的 ISP 不允许住宅客户拥有静态 IP。
  • 这是我认为最糟糕的解决方案。它依赖于 ISP,并且作为许多安全考虑因素。只要您的设备有互联网连接,所有其他解决方案(除非应用了一些特殊配置)都可以在任何地方工作
  • 所以如果我使用类似 openVPN 的东西,它会像保持连接到 vpn 一样简单,而且我可以从任何地方访问它?这可能是要走的路,因为 openVPN 看起来可以免费连接 2 个连接。
  • OpenVPN 对于任意数量的连接都是免费的。我建议在某些实例上安装 openVPN 服务器,并将您的 PC 和 beaglebone 设备连接到服务器。这样他们就可以通过 VPN 网络进行通信。请注意,这并不容易,需要一些工作和配置
【解决方案2】:

所以让我发布我的 cmets 作为一个连贯的答案。假设您有一个动态 IP,但可以不受限制地从公共 Internet 访问它:

  1. 确保您的路由器始终在 LAN 中为 BB 提供相同的地址
  2. 在 BB 上安装您的 Web UI 和其他东西
  3. 将 BB 上的 SSH 服务器配置为仅接受基于密钥的身份验证,不接受密码(/etc/ssh/sshd_config 中的PasswordAuthentication no)。
  4. 在您的 PC 中生成一个密钥对并将您的公钥提供给 BB(在 /home/<youruser>/.ssh/authorized_keys 中)。在继续之前,确保基于密钥的 SSH 登录在本地网络中有效。
  5. 使用在 ARM 上运行的 Linux 客户端订阅动态 DNS 服务。在BB上安装客户端。
    我使用 No-IP,客户端作为源代码提供,并且可能在 BB 上编译(尚未测试)。这有点烦人,因为您必须每月重新激活一次免费订阅,也许有更好的服务。
  6. 在您的路由器中,将一个随机外部端口(8822、62222,选择助记符)转发到 BB-s IP 和端口 22。
  7. 使用您的动态 DNS 和外部端口(例如 myhome.no-ip.org:62222)远程 SSH 进入 BB。在您的 LAN 中进行测试时,请注意,有些路由器支持从 LAN 内部到公共 IP 的“发夹”连接,有些则不支持。
    不要忘记配置您的 SSH 客户端以在客户端中激活本地端口 80 转发(命令行中为-L 80:localhost:80,类似于 Putty GUI)
  8. 当 SSH 链接建立时,您可以从地址为 http://localhost:80 的本地 PC 访问在 BB 中运行的 Web UI(通过 SSH 连接安全地建立隧道)。

【讨论】:

    【解决方案3】:

    您可以使用 Remote.it 之类的东西连接到您的小猎犬骨头。有一个可能适用于小猎犬骨头的树莓派指南。

    指南:https://support.remote.it/hc/en-us/articles/360047542051-Installing-remoteit-on-a-Raspberry-Pi-running-Raspbian-or-Raspberry-Pi-OS

    另外,如果你了解python,你可以使用Adafruit.io作为基本控制单元。我设置了一次以执行我发布的命令,几秒钟后它给了我结果。 祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 2013-08-09
      • 2011-09-04
      • 2012-11-23
      • 2018-07-23
      • 2021-12-12
      相关资源
      最近更新 更多