如何SSH进入自动驾驶卡车

2020-05-02 18:00:19

在过去的几年里,我们开始看到计算机走上街头,幸运的是,它主要是帮助我们获得快递或运送我们四处走动。这些机器人是传感器、计算单元和某种形式的连接的组合。他们有个性,如果你仔细看,邮差服务上有两只可爱的眼睛,这为它提供了立体视觉来导航街道。虽然“服务”是完全准备好在街道上导航,即使是最聪明的机器人也需要来自.。

我们中的许多人都认为远程访问计算机是理所当然的,尽管我们的生产服务器在NAT之后运行。这是由SRE实现的,他们设置公共端点和堡垒主机,并配置基于身份的身份验证,正如我们在上一篇名为如何正确使用SSH的帖子中所介绍的那样。但是,如果您的计算机正在移动,该怎么办呢?如果你在成千上万的城市拥有成千上万的手机,会发生什么呢?如何为系统级调试提供访问权限?哪种技术.。

我们很幸运地为物联网设备提供了一系列连接选项,从高速LTE连接到新的LoRaWAN网络。连接到网络后,下一步是访问设备。本文将重点介绍如何按照最佳实践使用SSH。前面,我们概述了如何配置本地ssh-agent以连接到堡垒主机。这种方法工作得很好,但除非你一开始就有一个非常好的命名约定,否则要找到一个机器人就会变得困难得多……。

我们已经采用了访问系统的最佳实践,并将它们合并到我们的开源项目Teleport中。Teleport旨在替代OpenSSH,但重点放在服务器车队(群集)上,其中单个节点(如自动驾驶卡车或常规AWS实例)可以位于世界任何地方。证书颁发机构和审计日志部署在安全网络中,只有代理可用于公共互联网。让我们更深入地研究一下。..。

虽然送货机器人的技术细节通常是保密的,但我们知道其他人已经花了很长时间才能通过David的可怕的阴影项目来SSH到灯柱中。同样的方法也可以应用于使用反向SSH隧道的自动驾驶机器人,但这种方法的可扩展性仅限于此,并且需要50多个步骤才能设置。

反向SSH隧道是主机(自动驾驶车辆)向代理发起的SSH连接。只要主机在线,此连接就会一直保持,如果工程师或Ansible脚本想要连接到车辆,他们会连接到代理,然后代理通过隧道将连接代理到发起连接的主机。

我们有许多长期要求支持反向隧道的请求,有了OSS Teleport4.0,我们使这些反向隧道的设置和管理变得更简单。这可以通过几个快速步骤在节点上设置。

在机器人/灯柱/自动驾驶卡车上,将安装远程端口守护程序,然后将拨回中央远程端口群集。

可以设置额外的配置选项来添加标签和额外的支持元数据,以帮助操作员。

连接到代理后,“节点”(在我们的示例中是单个Raspberry PI)将显示在Teleport Web UI中,您也可以使用CLI客户端查看它:

服务器~tsh ls节点名地址标签-Truck-1821➜⟵隧道拱门=linux,主机名=PostMate-SERVE-342145正常运行时间=正常运行时间=0分钟,📍=SF📶=5G。

现在,我可以使用节点名称通过SSH连接到该节点。

您可以使用Truck-1821的节点名ssh进入Truck-1821,这意味着您不必再担心IP地址或必须在其位置设置动态DNS。

标签可以提供系统数据和位置数据。这使得管理一大批设备变得容易得多。

随着规模的扩大,我们已经开始看到更多的计算机被推向边缘,一些人猜测这可能是云计算的终结。作为背景,自动驾驶卡车每英里产生10G的数据。一些自动驾驶公司已经公布了他们是如何管理和设置网络基础设施的。克鲁斯为任何对这个话题感兴趣的人提供了一个很棒的博客。

随着这些系统变得越来越复杂,让更多的计算和额外的冗余运行容器编排系统对于每英里扩展与数千兆字节数据相关的工作负载是有意义的。然而,对于运营商来说,这些系统可能越来越难以更新、调试和访问。提供访问权限打开了潘多拉的问题盒子。如果机器人或人类可以访问机器,就需要有审核跟踪、审批工作流,以及对运行内容的完全可见性……。

这些问题在小范围内很容易解决,但100多个群集就会变得越来越困难。将大型群集与数百名员工组合在一起可能会造成额外的运营复杂性。我们已经有了