管理多个反向SSH隧道

4
我想在远程位置安装一些树莓派,并能够远程登录它们。 (最开始将有30-40个盒子,希望很快增长到1000个独立的树莓派。)我需要能够远程管理这些盒子。走捷径,将路由器上的端口转发和设置DHCP保留,需要公司的IT支持(其中许多公司没有IT),或者需要我们的IT人员亲自安装每个盒子。
我的初步解决方案是让每个盒子创建一个反向SSH隧道连接到我们的服务器。我的问题是:这样做有多可行?管理这么多连接有多容易?对于一个小型本地服务器而言,是否存在同时有1000+ SSH连接的问题?还有更简单的解决方案吗?
我的最终目标是能够将一个盒子邮寄给某人,让他们插上电源,然后能够访问该盒子。
谢谢!

用你自己的主机或者免费的 AWS T2 服务器怎么样?我部署了几个树莓派(5-10个),也是以同样的方式进行反向隧道连接到我的网站,它们都能够很好地处理所有的连接。但是如果连接数超过1000个,你需要看一下它的表现如何。我认为只要有良好的互联网连接,这不应该是一个问题。希望可以帮到你。 - dhruvvyas90
我以前没有使用过AWS T2,但值得研究一下。但我仍然觉得目前这可能比我想象的更加复杂。 - William
3个回答

0

另一种解决方案是:

  1. 在服务器上安装OpenVPN服务器。如何在树莓派上安装OpenVPN服务器。此外,添加防火墙规则,阻止除客户端ssh和其他服务端口(如果需要)之外的所有流量,来自管理机器。
  2. 在树莓派客户端机器上运行OpenVPN客户端。它们将连接回您的VPN服务器。顺便说一句,如果VPN服务器资源有限,则VPN服务器和管理机器不必是同一台机器。如何在客户端树莓派上安装OpenVPN
  3. 从管理机器通过SSH连接到每个客户端机器。可选地,您可以使用RSA身份验证来简化身份验证。

优点包括加密隧道,包括用于管理的ssh加密,以及能够监视其各自端口上的其他服务。


有趣。我还需要盒子能够单独连接到互联网。这会对此使用造成干扰吗?阅读相关资料,似乎所有流量都将被路由到我的服务器,这将是巨大的带宽浪费。 - William
此外,如果将其作为VPN运行,我是否需要访问本地路由器?这就是我想要避免的。 - William
您有一个默认路由用于连接到互联网和一个静态路由用于访问VPN网络。不,您不需要在客户端的家庭/小型办公室路由器上进行任何更改。 - Keith Reynolds

0

我使用我的Java Web模板大约花费60分钟制作了一个Web应用程序来管理这个完全相同的设置。我能分享的仅仅是一些脚本,用于列出连接和相关信息。您可以使用它们构建自己的应用程序,在快速网络中以精美的方式显示。

看看我的脚本:https://unix.stackexchange.com/a/625771/332669

它们将允许您获取监听端口以及它们绑定的公共IP。有了这个,您可以轻松地计划一个系统,使得一切都可以通过简单的BBDD进行识别。


-1

2
Docker的链接已经失效。 - karlacio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接