Xrdp – 從 Windows 通過 RDP 連接 Ubuntu Linux 遠程桌面

您多久訪問一次 Linux 桌面? 您使用什麼工具訪問遠程桌面?

Xrdp 是一個開源工具,允許用戶通過 Windows RDP 訪問 Linux 遠程桌面。 除了 Windows RDP,xrdp 工具還接受來自其他 RDP 客戶端(如 FreeRDP、rdesktop 和 NeutrinoRDP)的連接。 Xrdp 現在支持 TLS 安全層.

Xrdp 要求

  • xrdp 和 xorgxrdp 包
  • 監聽 3389/tcp。 確保您的防火牆接受連接

在本文中,我將展示如何使用 Xrdp 工具從 Windows 機器遠程連接到 Ubuntu 桌面。

1) 在 Linux 上安裝

在 Ubuntu 18.04 上

首先,你需要在 Ubuntu 上安裝 Xrdp

# apt install xrdp
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
xorgxrdp
Suggested packages:
guacamole xrdp-pulseaudio-installer
The following NEW packages will be installed:
xorgxrdp xrdp
0 upgraded, 2 newly installed, 0 to remove and 256 not upgraded.
Need to get 498 kB of archives.
After this operation, 3,303 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

在 Windows 上的 xrdp 登錄屏幕上輸入用戶名和密碼後,您必須配置 polkit 規則以避免身份驗證彈出窗口

# vim /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf

polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“{group}”))
{
return polkit.Result.YES;
}
});

重啟 xrdp 服務

# systemctl restart xrdp

然後確保服務正在運行

# systemctl status xrdp
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: en
Active: active (running) since Tue 2018-10-16 02:05:21 WAT; 11min ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 2654 (xrdp)
Tasks: 1 (limit: 2290)
CGroup: /system.slice/xrdp.service
└─2654 /usr/sbin/xrdp

現在確保在系統啟動時自動啟動服務

# systemctl enable xrdp
Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable xrdp

現在您需要檢查您的 IP 地址,因為您將需要它進行連接

# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:ef:f6:9b brd ff:ff:ff:ff:ff:ff
inet 172.16.8.177/24 brd 172.16.8.255 scope global dynamic noprefixroute ens33

我的IP地址是 172.16.8.177. 所以把它記在你的腦海裡。

Xrdp 使用端口 3389,因此請確保打開它。 UFW 默認禁用,因此您需要啟用防火牆並為 xrdp 創建規則

# ufw enable
# ufw allow 3389/tcp

現在你可以在windows端繼續配置了

在 Centos/Redhat 7 上

確保之前安裝 Epel 存儲庫

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

現在安裝 xrdp 包

# yum update && yum -y install xrdp tigervnc-server

在防火牆中添加規則。 在 Centos/RedHat 上不是 ufw 而是 firewalld 來配置

# firewall-cmd --permanent --zone=public --add-port=3389/tcp

然後重新加載防火牆

# firewall-cmd --reload

現在啟用並重新啟動 xrdp 服務

# systemctl enable xrdp && systemctl restart xrdp

在 Windows 上檢查遠程連接的 IP 地址

2) 從 Windows 連接

在您的 Windows 計算機(例如我們的示例中的 Windows 10)上,啟動默認的遠程桌面連接工具。

您需要輸入機器的 IP 地址,系統會要求您輸入用戶名

訪問 Ubuntu/CentOS 的遠程桌面

Enter IP地址和用戶名

現在確認信息並啟動連接。 如果未在本地註銷,則遠程登錄將失敗。

現在您將被要求輸入密碼

現在確認您的憑據。 您可以在頂部和登錄頁面看到我的 Ubuntu 的 IP 地址。 Enter 您的密碼並享受

你知道其他工具嗎? 請告知我們的意見

另請閱讀:

  • 在 RHEL/CentOS 7 上啟用遠程桌面訪問的 5 個工具
  • 如何使用 Linux Screen 命令進行遠程 SSH