如何从 Linux 连接到远程桌面

Remmina 简洁的用户界面使其能够轻松远程访问 Linux PC 和 Windows 10。
464 位读者喜欢这篇文章。
5 tools to support distributed sysadmin teams

Opensource.com

根据维基百科的说法,远程桌面是“一种软件或操作系统功能,允许在某个系统(通常是 PC,但此概念同样适用于服务器)上远程运行个人计算机的桌面环境,同时在单独的客户端设备上显示。”

换句话说,远程桌面用于访问在另一台计算机上运行的环境。例如,ManageIQ/集成测试 仓库的拉取请求 (PR) 测试系统公开了一个虚拟网络计算 (VNC) 连接端口,因此我可以远程实时查看我的 PR 测试。远程桌面也用于帮助客户解决计算机问题:在获得客户许可的情况下,您可以建立 VNC 或远程桌面协议 (RDP) 连接以查看或交互式访问计算机,从而排除故障或修复问题。

这些连接是使用远程桌面连接软件建立的,并且有很多选项可用。我使用 Remmina,因为我喜欢其简洁、易于使用的用户界面 (UI)。它使用 GTK+ 编写,并在 GNU GPL 许可下开源。

在本文中,我将解释如何使用 Remmina 客户端从 Linux 计算机远程连接到 Windows 10 系统和 Red Hat Enterprise Linux 7 系统。

在 Linux 上安装 Remmina

首先,您需要在您将用来远程访问其他计算机的计算机上安装 Remmina。如果您使用的是 Fedora,您可以运行以下命令来安装 Remmina

sudo dnf install -y remmina

如果您想在其他 Linux 平台上安装 Remmina,请按照这些 安装说明进行操作。然后您应该在其他应用程序中找到 Remmina(在此图像中选择了 Remmina)。

Remmina icon highlighted on desktop

单击图标启动 Remmina。您应该看到一个类似于此画面的屏幕

Remmina client

Remmina 提供多种类型的连接,包括 RDP(用于连接到基于 Windows 的计算机)和 VNC(用于连接到 Linux 计算机)。如您在左上角所见,Remmina 的默认设置是 RDP。

连接到 Windows 10

根据 Microsoft' 的产品矩阵,Windows 10 家庭版不包含通过 RDP 连接的功能,因此您必须运行专业版或企业版才能通过 RDP 连接。

在您可以通过 RDP 连接到 Windows 10 计算机之前,您必须更改一些权限以允许远程桌面共享和通过防火墙进行连接。

要启用远程桌面共享,请在文件资源管理器中右键单击我的电脑 → 属性 → 远程设置,然后在打开的弹出窗口中,选中允许远程连接到此计算机,然后选择应用

Enabling Remote Desktop Sharing in Windows

接下来,通过防火墙启用远程桌面连接。首先,在开始菜单中搜索防火墙设置,然后选择允许应用通过 Windows 防火墙

Finding firewall settings

在打开的窗口中,在允许的应用和功能下查找 远程桌面。根据您将用于访问此桌面的网络类型,选中专用和/或公用列中的框。单击确定

Changing firewall settings for Remote Desktop

转到您用于远程访问 Windows PC 的 Linux 计算机并启动 Remmina。输入您的 Windows 计算机的 IP 地址并按 Enter 键。(如何在 Linux 中Windows 10 中找到我的 IP 地址?)出现提示时,输入您的用户名和密码,然后单击确定。

Logging into Remote Desktop with Remmina

如果系统要求您接受证书,请选择确定。

Accepting the certificate

您应该能够看到 Windows 10 计算机的桌面。

Viewing Windows 10 Remote Desktop

连接到 Red Hat Enterprise Linux

要设置权限以在 Linux 计算机上启用远程访问,请从 GNOME 桌面左上角的活动菜单中打开设置

单击共享类别。

Settings

启用屏幕共享(并在出现提示时启用允许连接控制屏幕)。您还可以在两个访问选项之间进行选择:一个选项提示计算机的主用户接受或拒绝连接请求,另一个选项允许使用密码进行连接身份验证。在窗口底部,选择允许连接的网络接口,然后关闭窗口。

接下来,从应用程序菜单 → 杂项 → 防火墙打开 防火墙设置

接下来,转到远程计算机上的 Remmina,输入您要连接的 Linux 桌面的 IP 地址,选择 VNC 作为协议,然后按 Enter 键。

Logging into Linux remote desktop with Remmina

如果您之前选择了身份验证选项新连接必须请求访问,则 RHEL 系统的用户将看到如下提示

Granting permission to view or control Linux desktop

选择接受以使远程连接成功。

如果您选择使用密码对连接进行身份验证,Remmina 将提示您输入密码。

Entering password to access Linux desktop

输入密码并单击确定,您应该连接到远程计算机。

Viewing Linux desktop with Remmina

使用 Remmina

Remmina 提供选项卡式 UI,如上图所示,非常像 Web 浏览器。如上图的屏幕截图所示,在左上角,您可以看到两个选项卡:一个用于先前建立的 Windows 10 连接,另一个用于 RHEL 连接。

在窗口的左侧,有一个工具栏,其中包含诸如调整窗口大小全屏模式首选项屏幕截图断开连接等选项。浏览它们,看看哪些最适合您。

您还可以通过单击左上角的 +(加号)在 Remmina 中创建已保存的连接。填写包含特定于您的连接的详细信息的表格,然后单击保存。这是一个 Windows 10 RDP 连接示例

Creating a saved remote desktop connection

下次打开 Remmina 时,该连接将可用。

Viewing saved connection

只需单击它,您的连接就会建立,而无需重新输入详细信息。

附加信息

当您使用远程桌面软件时,您执行的所有操作都在远程桌面上进行并使用其资源——Remmina(或类似的软件)只是一种与该桌面交互的方式。您还可以通过 SSH 远程访问计算机,但这通常会将您限制为该计算机的纯文本终端。

您还应注意,如果攻击者使用此方法来访问您的计算机,则启用与计算机的远程连接可能会造成严重损害。因此,当您不积极使用远程桌面时,明智的做法是禁止远程桌面连接并阻止防火墙中的相关服务。


本文最初于 2018 年 6 月发布,并已由编辑更新。

标签
User profile image.
Kedar 是 Red Hat 的软件质量工程师,从事 CloudForms(上游 ManageIQ)项目,主要负责内部基础设施的部署/管理。对用于自动化部署的 Jenkins Pipeline 和 Ansible 感兴趣。也在编写用于监控和警报的 Shinken 模块。

4 条评论

很棒的文章,Kedar。如果包含有关通过 SSH 隧道传输 VNC 连接以提高安全性的信息,那就更好了。谢谢!

非常感谢 Kedar!我们尽最大努力维护和改进 Remmina。有时这是一项艰巨的任务,但感谢像您这样的评价,使工作变得更加轻松。

在 IBM,我们使用 RHEL7 作为我们的工作站操作系统。并使用 remmina 作为 RDP 客户端。但是,由于 Remmina 不支持 Windows 服务器上的 NLA 身份验证,因此我们被迫使用 Windows KVM 机器。项目安全策略不允许在目标服务器上禁用 NLA。是否有可用的解决方法或修复程序来克服此挑战并使用 remmina 访问 Windows 服务器?

到目前为止,我将 Remmina 用于 SSH,但从未让 RDP 工作。现在我明白了,这更多的是我连接到的对象的问题,而不是 Remmina 的问题。

但是,在工作中,如果我以某种方式使用 Linux 桌面,那么此信息将对我进入我的开发(Windows)服务器非常有帮助。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可获得许可。
© . All rights reserved.