通过静态 IP VPS 从我的动态 IP PC 远程访问防火墙后面的 PC

通过静态 IP VPS 从我的动态 IP PC 远程访问防火墙后面的 PC

我不确定我想要做的事情是什么,以及它有多安全,但是设置如下:

我只有在工作时才拥有完全的 root 访问权限workpc。它位于我无法控制的防火墙后面。我workpc在家时无法访问homepc

我还有一台 VPS 机器vps,在某个地方,它有一个静态 IP,我也可以完全控制它。

homepc没有静态 IP,也不是 24/7 全天候运行,不像vps其他的 24/7 全天候运行且具有静态 IP。

理想情况下,我可以在上班时建立从workpc到 的长期连接。然后当我回家时,我连接到并以某种方式访问​​ ?vpshomepcvpsworkpc

我对所有机器都有完全的根访问权限,并且所有机器都运行最新的 Linux。

答案1

您没有提到您到底想要哪种类型的访问,SSH、VNC……但有几种选择。

  1. 远程访问软件,例如 TeamViewer 或类似软件,您可将其安装在您的计算机上workpc,然后可以使用相应的远程客户端从世界任何地方访问它。这可能违反您的公司政策并被网络防火墙阻止。

  2. workpc在您的和之间建立 VPN ,您从到vps建立 VPN 连接,然后您可以通过 VPN 或 ssh 从 到 连接,并通过 访问其 VPN 地址。您需要设置运行 OpenVPN、WireGuard 或其他类型的 VPN 软件的 VPN 服务器。workpcvpshomepcvpsworkpcvpsvps

  3. workpcSSH 隧道,您使用反向隧道从到建立 ssh 连接vps,然后使用正向隧道从homepc到建立 ssh 连接,然后您可以通过这两个隧道从到使用vpsssh 进行连接。homepcworkpc

例如:ssh -R 8022:localhost:22 user@vps,这将从您的workpc到建立一个 ssh 连接vps,您将在 上的端口 8022 上创建一个监听器vps,并且每个到达该端口的连接都将通过 SSH 重定向到 上的端口 22 workpc

homepc然后,您从到创建另一个 ssh 连接vps,例如SSH -L 9022:localhost:8022 vps,它将在homepc端口 9022 上本地创建一个侦听器,并且到该端口的每个连接都将通过 SSH 发送到 上的端口 8022 vps,然后进入 ssh 隧道workpc并转到 上的 ssh 服务器workpc

然后,您只需与本地主机端口 9022 建立 ssh 连接,即可将信息发送到workpc其 ssh 服务器的端口 22。在这种情况下,ssh user@localhost -p 9022执行的操作与执行的操作相同ssh user@workpc

在这种情况下,您需要在您的服务器上启用 sshd 服务workpc,因为它需要在端口 22 上运行 ssh 服务器。如果您想使用您的服务器上的其他端口或服务workpc进行访问,您可以将第一个反向隧道中的端口 22 替换为您要访问的相应端口workpc

相关内容