Xrdp-从Windows通过RDP连接Ubuntu Linux远程桌面
时间:2020-03-05 15:30:13 来源:igfitidea点击:
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
我们必须配置polkit规则,以避免在Windows的xrdp登录屏幕上输入用户名和密码后出现身份验证弹出窗口
# 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 2016-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的远程桌面
输入IP地址和用户名
现在确认信息并启动连接。
如果我们未在本地注销,则远程登录将失败。
现在将要求我们输入密码