如何解决远程访问 beaglebone blue
我正在做一个涉及 Beaglebone blue 的个人项目。我想从任何地方远程访问它。我不确定这样做的最佳方法是什么。我知道我可以只转发一个相应的端口(不安全)或类似的东西,但我想避免太多的安全漏洞。该板控制着我计划在 UI 中显示的相机,它还允许我四处移动相机。有很多公司拥有可以从任何地方控制的设备......那我该怎么做?
解决方法
这个问题有很多解决方案。我会提到几个。
一般来说,您的设备应该:
拥有一个公共 ip(如果您的基础设施允许并且您的 ISP 提供此服务),然后您就可以直接访问它。
使用某些服务连接到在线服务器:
- 使用 VPN。将您的设备连接到 openVPN 服务器(我认为这是最流行的解决方案)。 Wiregurd 也很受欢迎
- 将 consul 或 etcd 或类似服务用于其服务发现功能
- 使用云提供商(AWS、Azure、GCP 等)物联网服务产品
所以让我发表我的评论作为一个连贯的答案。假设您有一个动态 IP,但可以从公共 Internet 不受限制地访问它:
- 确保您的路由器在 LAN 中始终为 BB 提供相同的地址
- 在 BB 上安装您的 Web UI 和其他内容
- 在 BB 上配置 SSH 服务器以仅接受基于密钥的身份验证,不接受密码(
PasswordAuthentication no
中的/etc/ssh/sshd_config
)。 - 在您的 PC 中生成一个密钥对并将您的公钥提供给 BB(在
/home/<youruser>/.ssh/authorized_keys
中)。在继续之前,请确保基于密钥的 SSH 登录在本地网络中有效。 - 使用在 ARM 上运行的 Linux 客户端订阅动态 DNS 服务。在 BB 上安装客户端。
我使用 No-IP,其中客户端作为源代码出现并且可能在 BB 上编译(尚未测试)。这有点烦人,因为您必须每月重新激活一次免费订阅,也许有更好的服务。 - 在您的路由器中,将随机外部端口(8822、62222,选择助记符)转发到 BB-s IP 和端口 22。
- 使用您的动态 DNS 和外部端口(例如 myhome.no-ip.org:62222)通过 SSH 远程连接到 BB。在 LAN 中进行测试时,请注意有些路由器支持从 LAN 内部到公共 IP 的“发夹”连接,有些则不支持。
不要忘记配置您的 SSH 客户端以激活客户端中的本地端口 80 转发(命令行中的-L 80:localhost:80
,类似于 Putty GUI) - 当 SSH 链接建立时,您可以从本地 PC 访问地址为
http://localhost:80
的 BB 中运行的 Web UI(通过 SSH 连接安全地建立隧道)。
您可以使用 Remote.it 之类的东西连接到您的小猎犬骨骼。有一个关于树莓派的指南,可能适用于比格犬骨骼。
此外,如果您了解 python,您可以使用 Adafruit.io 作为基本控制单元。我设置了一次来执行我发布的命令,几秒钟后它给了我结果。 祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。