管理远程 Linux 机器

管理远程 Linux 机器

我的初衷是构建一台运行 Debian Linux 和一些自定义程序的计算机。无需用户执行任何操作即可远程访问机器的最佳方法是什么?

我们的产品目前处于早期阶段,更新过程尚未经过充分测试,可能会出现问题。我正在寻找一种通过 SSH 远程访问机器的简便方法。这些机器位于标准家用防火墙后面,没有静态 IP 或任何此类性质的东西。

我的想法是使用类似于运行反向 SSH 的 init 脚本,例如:ssh -N -R 2222:localhost:22 [email protected]

我不喜欢的是每台机器都必须有自己的端口和用户。此外,即使我不需要 SSH 连接,它也是开放的,并且会使用流量。

我正在考虑在服务器上编写一个应用程序,该应用程序提供一个简单的网页,客户端每 x 分钟使用 http 请求检查一次是否需要通过 SSH 连接。如果需要,服务器脚本会创建一个帐户并告诉客户端要使用哪个端口和用户。

答案1

设置 OpenVPN 服务器。所有远程计算机都将成为服务器的 OpenVPN 客户端,并将获得 VPN IP 地址(例如 10.8.0.x)。由于它们是客户端,因此您不必关心公共 IP 地址。此外,客户端无需在其路由器上打开端口以允许流量进入,因为它们将与 VPN 服务器建立传出连接。

要访问这些机器中的任何一台,您只需 ssh 到 VPN IP 地址即可。ssh 守护程序不会向公众公开,因为它只能在 VPN 网络上监听。

您无需在您的位置运行 OpenVPN 服务器;您可以设置类似 Amazon EC2 实例的东西,比如免费套餐,来尝试一下,看看它是否适合您的情况。您可能希望服务器有一个静态 IP;您可以使用某种 dyndns 诡计,但不能进行任何实际设置。

相关内容