如何通过 SSH 访问 Internet 连接的 Debian Linux 计算机?

How to access Internet connected Debian Linux computer through SSH?

我有一个 BeagleBone Black,它是 运行 Debian Wheezy。只要它连接到 Internet,我就希望能够通过 Internet SSH 连接到它。我希望能够输入 URL 并能够访问它或在其上部署软件。

许多其他帖子展示了如何配置路由器以转发端口等。但是,我希望能够将这个 Beaglebone 带到任何地方,甚至可以在有 Wifi 的咖啡店里,并且我可以通过 Internet 从另一台计算机快速访问它。

我想知道执行此操作的最佳方法是什么。我有自己的域名(提供商是 Namecheap.com),如果解决方案需要,我不介意实际为一些网络托管服务付费。

总而言之,我希望能够通过域名通过 SSH 进入 Debian Linux 系统,而无需对网络硬件进行任何配置。只要系统可以访问互联网,我就希望能够快速设置并访问它。如何做到这一点?

您需要使用 "dynamic dns service",因为(很可能)您的家庭 IP 地址不是静态的。它随时间而变化,这就是为什么使用域名是有意义的。但是,您不能使用普通的 DNS 服务,因为它的更新速度太慢了。

您需要配置该动态 DNS 服务,使其指向您家庭路由器的当前 public IP 地址。通常,这是由触发器完成的,一旦建立了互联网连接,它就会提交新的 ip 地址。因此,这必须从您的家庭网络内部完成,通常是通过路由器的功能(如果提供)。或者,您可以使用安装在您的电路板系统上的一些实用程序,该实用程序能够检测其 public ip 地址以及何时更改。标准存储库中有一些这样的实用程序。您可以 而不是 每隔一分钟左右就发布您的 ip。它必须是事件驱动的(连接时),否则您可能会被动态 DNS 服务阻止。

那么您确实需要在您的家庭路由器上配置端口转发。该规则必须将所有传入请求转发到特定端口到您的板端口 22。注意:不要 在外部使用端口 22,因此不要将端口 22 转发到端口 22。这有效,但您会看到针对您的系统的持续暴力黑客攻击。只需使用 50022 之类的东西(在外面!)。

应该就这些了。


我从您的评论中了解到,您还希望能够随身携带该板,无论身在何处都可以使用任何连接。这样的事情 可能的,但要复杂得多。可以肯定的是,您确实需要一些您可以控制的额外服务器。该服务器必须播放中继并将您的请求转发到您的主板,一旦它上线,该服务器就会在该服务器和它自己之间建立一个 ssh 隧道。所以你肯定确实需要某个地方的固定点。这样的服务器不是火箭科学。这些天你可以以每月 3-5 欧元的价格租用一个虚拟的,然后随心所欲地使用它。

这里的想法是你的开发板联系那个服务器并建立一个指向它自己的端口 22 的 ssh 隧道。现在你可以联系在服务器上打开的隧道,你的包裹将通过隧道转发到你的董事会。那行得通,它比其他方式慢一点。

在那种情况下,您不需要动态 DNS 服务,因为这样的虚拟服务器通常带有固定的 IP 地址。所以你可以简单地将你的域解析到你的服务器。

这种情况下的问题是为什么要这样做。既然你手头已经有了一台舒适的服务器,那么板子是干什么用的呢?我能想到的唯一动机是能够在国外环境中进行非法下载或黑客攻击……这通常不是问题。网络是有待探索的。但是当你离开法律依据时,你显然应该三思而后行。特别是关于你可能会给谁带来大麻烦:-)

哦,您也可以将此方法与使用您的家庭路由器而不是互联网上的单独服务器相结合。您的主板可以使用动态 dns 服务访问您的家庭网络,联系您家庭网络内的某个系统,它的作用就像上面描述的租用服务器一样。


从您给出的下一条评论中获取更多信息,这也可能值得一试,但我不确定这是否有效。您必须尝试一下:

如果要访问开发板的每个人都在同一个本地网络中,那么您可能不需要端口转发就可以相处。您可以尝试使用上述动态 dns 实用程序之一将您的 网络内部 ip 地址发布到 dns 服务。 如果他们接受并发布该地址,那么每个人都应该能够在本地网络中直接访问您的电路板(所以不能通过互联网),但要使用您的域名。我从来没有尝试过这样的事情。我可以想象 DNS 服务提供商会阻止这样的事情。但话又说回来,他们可能不会。所以它可能值得一试,因为这将是一个非常简单和优雅的解决方案。此外,我不确定是否所有系统都会接受来自 dns 机构的此类内部地址。正如所说:你将不得不尝试这个。


当然还有更多的理论上的可能性,但这些可能性肯定要复杂得多。如果你靠近你的董事会,你当然也可以使用蓝牙或类似的东西。你可以捆绑一个便宜但破损的智能手机并将其用作调制解调器,这样电路板就可以像上面的家用路由器一样工作。当然,您可以选择 wifi ad-hock 网络连接,但我怀疑这就是您要找的东西。

我肯定不会做的一件事是使用专门从事此类事情的第三方服务提供商。像 TeamViewer 或类似的东西。我认为这些是一个严肃而明显的安全线索,尽管他们声称自己是这样。您绝对不能相信封闭源代码或仅限互联网的服务,因为您根本无法真正检查他们的工作。 所以不要迷恋这个看似简单舒适的解决方案!