通过互联网在 2 个 Ubuntu 20.04 设备之间进行远程桌面访问

Iva*_*anP 9 vnc remote-desktop vpn networking 20.04

我的家庭办公室有一台运行 Ubuntu 20.04(即远程)的工作站,它通过以太网电缆连接到互联网。旅行时,我通常会随身携带一个更轻的设备,一台运行 Ubuntu 20.04(即客户端)的笔记本电脑。
我的目标是通过互联网从我的笔记本电脑远程桌面访问我的工作站(即访问文件、终端等)。

我的第一次尝试是按照此处所述使用 Remmina 设置 VNC 。这奏效了,当两个设备都连接到同一个网络时,我现在可以从我的笔记本电脑访问我的工作站。我搜索了如何使用VNC当设备没有连接到同一个网络,并发现我能做到这一点通过与远程Ubuntu系统在网络上建立一个虚拟专用网络(VPN)服务器

因此,我从VyprVPN购买了具有 30 天退款保证的 VPN 服务。我配置远程和客户机上的VPN连接,如所描述这里。两台设备现在都可以连接到 VPN 并毫无问题地上网,但我不能再使用 VNC。

当被要求向 VPN 提供商进行澄清时,客户服务(机器人)告诉我“VyprVPN 目前不支持远程访问”,并建议在我的路由器上安装他们的应用程序。据我所知,我的家用路由器不符合VPN 提供商的要求。购买新的路由器来满足 VyprVPN 的要求对我来说是可以的,但我既不确定这会解决我的问题,也不确定它是最适合我的情况的解决方案。考虑到我的目标只是建立从另一台设备到一个设备的远程桌面访问,这似乎有点矫枉过正。

对于通过 Internet 从一台笔记本电脑 (Ubuntu 20.04) 远程桌面访问一台工作站 (Ubuntu 20.04),您会推荐什么解决方案?首选开源解决方案。

在此先感谢您的支持!

use*_*186 6

VPN的两种用途

1.企业VPN

VPN被企业(公司)用来允许远程用户访问办公网络和计算机资源。例如,公司的远程员工可以使用 VPN 访问办公室的内部网络驱动器。在这种情况下,当远程用户登录到公司 VPN 服务器时,他们的远程计算机将成为办公室本地网络的一部分。然后,远程员工可以使用 VNC 访问办公室桌面计算机。

我认为这就是您所设想的 VPN 使用方式。然而,当您旅行时,您的远程计算机在家中,并且没有 IT 部门为您设置个人 VPN 服务器。你可以自己设置,但我认为在家庭网络环境中安全连接一台远程计算机太麻烦了。

2. 消费者VPN

VyperVPN 等消费者 VPN 服务提供商使用相同技术向家庭用户提供略有不同的服务。这些服务提供商在不同地点和国家设置 VPN 服务器,并允许家庭用户登录这些服务器。

这允许家庭用户向他们自己的互联网服务提供商、政府等隐藏他们的互联网活动。这还允许家庭用户“假装”在另一个国家并“愚弄”视频流服务。

消费级 VPN 服务提供商不会在您的家庭网络中设置 VPN 服务器。事实上,如果您使用 VPN 客户端(例如家庭桌面中的 VyperVPN),那么您在旅行时可能无法远程连接到该桌面。这是因为 VPN 服务让您的桌面“假装”在其他地方!因此,当您旅行时,您必须在家里的桌面上关闭 VPN 服务,然后才能使用 VNC 进行远程连接。

为什么不直接使用 VNC?

这是不安全的。VNC 是相当古老的协议,其安全性达不到现代标准。可以在您的家庭桌面中设置 VNC 服务器以接受来自您自己的家庭网络外部的连接。但是,不建议这样做,因为来自 Internet 的任何人都可以轻松侵入您的家庭桌面。

通过 SSH 的 VNC

您需要ssh首先在家用台式计算机中设置服务器。有关如何执行此操作,请参阅在家庭 LAN 中使用 SSH 连接两台计算机。

一旦您ssh在家庭网络中工作,并且可以ssh从笔记本电脑到家庭台式机(同时两者都连接到家庭网络),您将需要设置 Remmina 以通过 SSH 使用 VNC。

打开您已在笔记本电脑中创建的 Remmina 桌面首选项窗口,以便从家庭网络内通过 VNC 进入桌面:

在此输入图像描述

请注意,服务器字段填写的是上面的 LAN IP 地址。你的会有所不同。转到SSH 隧道选项卡:

在此输入图像描述

选中所有框,如上图所示。端口 22 是 的默认端口ssh。为简单起见,我们将使用此端口。您可以阅读有关如何将默认端口更改为其他端口并稍后进行不同设置的信息。

请注意,我在设置过程中设置了公钥ssh。如果您已这样做,请选择公钥作为身份验证方法。

否则选择密码

尝试一下,并确保当两台计算机都连接到家庭网络时,您可以使用 SSH 隧道通过 VNC 从笔记本电脑连接到台式机。

旅行时

如果您想在外出时通过 SSH 使用 VNC,则需要弄清楚两件事。

  1. 转发端口
  2. 动态域名系统 (DDNS)

1. 端口转发

这是路由器设置的一部分。当请求通过端口 22 时,您需要告诉路由器远程连接请求应该发送到哪个设备。

在上图中,我的家庭桌面的 IP 地址是 192.168.0.101。这是我的家庭网络中的本地 IP 地址。它在我的家庭网络之外没有任何意义。路由器将此 IP 地址分配给我的家庭桌面。

您应该将路由器设置为将通过端口 22 发送的所有包转发到家庭桌面本地 IP 地址的端口 22。

确切的过程因路由器而异,具体如何执行此操作超出了本站点的范围,因为它与 Ubuntu 无关。

2.动态域名系统(DDNS)

大多数家庭 Internet 服务不会从其 Internet 服务提供商 (ISP) 获取静态 IP 地址。如果您的 ISP 分配了静态 IP 地址,请忽略此部分。

您可以将 Remmina 中的远程桌面首选项复制到新的,并将服务器 IP 地址更改为 ISP 提供的静态 IP 地址。

如果您的 ISP 动态分配您的家庭 IP 地址,那么您的家庭(外部)IP 地址可能会不时发生变化。当您连接到家庭网络时,您可以通过谷歌搜索我的 IP 地址来找到您的外部 IP 地址。

问题是当您在旅行时,您的 ISP 更改了您的外部 IP 地址,您无法知道它是什么。因此,您将无法连接到家庭桌面。

您需要使用 DDNS 服务提供商。有一些免费的,例如 duckdns.org 您需要在其中之一创建一个帐户。拥有帐户后,您需要设置家庭桌面,以便定期与您选择的 DDNS 服务提供商进行通信,并更新对家庭 IP 地址的任何更改。DDNS 服务提供商将为您的家庭创建一个互联网地址,例如 ivapshome.duckdns.org,ivanpshome您可以在其中选择。

在家庭桌面上设置 DDNS 客户端的确切方法取决于 DDNS 服务提供商。如果您在设置 DDNS 时遇到问题,请搜索此站点,并提出另一个问题(如果需要)。

注意:某些路由器可以更新某些特定的 DDNS 服务。您必须检查您的路由器和您使用的特定 DDNS 服务。确切的方法各不相同,超出了本网站的范围。

在 Remmina 中的服务器字段下,输入 DDNS 提供的 Internet 地址,例如ivapshome.duckdns.org

现在,您应该能够在旅行时从笔记本电脑连接到家庭台式计算机。

希望这可以帮助

  • 这个解决方案非常有效@user68186,非常感谢你!我很乐意为您的答案投票,但我是这个论坛的新手,我的声誉不够高,无法投票。 (2认同)