Xrdp

Wesley13
• 阅读 805

 

您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面?

Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP之外,xrdp工具还接受来自其他RDP客户端的连接,如FreeRDP,rdesktop和NeutrinoRDP。 Xrdp现在支持TLS安全层。

Xrdp要求

  • xrdp和xorgxrdp包
  • 监听3389/tcp。 确保您的防火墙接受连接

在本文中,我将展示如何使用Xrdp工具从Windows机器远程连接到Ubuntu桌面。

Xrdp

1)在Linux上安装

在Ubuntu 18.04/Ubuntu 18.10上

首先,您需要在Ubuntu上安装Xrdp

apt install xrdp

Xrdp

您必须配置polkit规则以避免在Windows上的xrdp登录屏幕上输入用户名和密码后进行身份验证弹出窗口

linuxidc@linuxidc:~$ sudo nano /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

重启xrdp服务

linuxidc@linuxidc:~$ sudo systemctl restart xrdp

Xrdp

然后确保该服务正在运行

linuxidc@linuxidc:~$ systemctl status xrdp
● xrdp.service - xrdp daemon
  Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: ena
  Active: active (running) since Mon 2018-10-29 21:16:31 CST; 2min 0s ago
    Docs: man:xrdp(8)
          man:xrdp.ini(5)
  Process: 5543 ExecStop=/usr/sbin/xrdp $XRDP_OPTIONS --kill (code=exited, statu
  Process: 5565 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SU
  Process: 5557 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, sta
 Main PID: 5566 (xrdp)
    Tasks: 1 (limit: 2305)
  Memory: 1.2M
  CGroup: /system.slice/xrdp.service
          └─5566 /usr/sbin/xrdp

Xrdp

现在确保在系统启动时自动启动服务

linuxidc@linuxidc:~$ 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
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
Failed to reload daemon: Message recipient disconnected from message bus without replying
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
Failed to reload daemon: Message recipient disconnected from message bus without replying
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
Failed to enable unit: Message recipient disconnected from message bus without replying

现在您需要检查您的IP地址,因为您将需要它来进行连接

linuxidc@linuxidc:~$ 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:e4:b3:cf brd ff:ff:ff:ff:ff:ff
    inet 192.168.182.146/24 brd 192.168.182.255 scope global dynamic noprefixroute ens33
      valid_lft 1116sec preferred_lft 1116sec
    inet6 fe80::3f83:c7da:950a:e08/64 scope link noprefixroute
      valid_lft forever preferred_lft forever

我的IP地址是192.168.182.146。 所以请记住。

Xrdp

Xrdp使用端口3389,所以一定要打开它。 默认情况下禁用UFW,因此您需要启用防火墙并为xrdp创建规则

linuxidc@linuxidc:$ sudo ufw enable
[sudo] linuxidc 的密码:
在系统启动时启用和激活防火墙
linuxidc@linuxidc:
$ sudo ufw allow 3389/tcp
规则已添加
规则已添加 (v6)

如果这时候出现所说的Ubuntu安中装的xrdp,桌面共享设置为允许,虚拟机设置的是桥接,虚拟机内外可以互相ping 通;
在Windows下用 mstsc 连接Ubuntu桌面,跳出账号密码页面,登录后自动退出(闪退)的解决方法:

sudo apt-get install xfce4
echo xfce4-session > ~/.xsession
touch .session
sudo vim /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前面加
xfce4-session

然后重启 sudo service xrdp restart。

Xrdp

Xrdp

现在,您可以在Windows端继续配置。

CentOS/RedHat 7上

确保之前安装了Epel存储库

# rpm -Uvh https://dl.[Fedora](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.linuxidc.com%2Ftopicnews.aspx%3Ftid%3D5)project.org/pub/epel/epel-release-latest-7.noarch.rpm

Xrdp

现在安装xrdp包

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

Xrdp

在防火墙中添加规则。 CentOS/RedHat不是ufw,而是firewalld来配置

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3389/tcp
success

然后重新加载防火墙
[root@localhost ~]# firewall-cmd --reload
success

现在启用并重新启动xrdp服务
[root@localhost ~]# systemctl enable xrdp && systemctl restart xrdp
Created symlink from /etc/systemd/system/multi-user.target.wants/xrdp.service to /usr/lib/systemd/system/xrdp.service.

检查您的IP地址以获取Windows上的远程连接

[root@localhost ~]# 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 pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:93:77:6f brd ff:ff:ff:ff:ff:ff
    inet 192.168.182.148/24 brd 192.168.182.255 scope global noprefixroute dynamic ens33
      valid_lft 1285sec preferred_lft 1285sec
    inet6 fe80::72bf:712e:7c0b:ca6d/64 scope link noprefixroute
      valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:02:67:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
      valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:02:67:f9 brd ff:ff:ff:ff:ff:ff

2)从Windows连接

在我们的Windows机器上,例如Windows 10,启动默认的远程桌面连接工具。

输入IP地址和用户名

Xrdp

您需要输入机器的IP地址,系统会要求您输入用户名

Xrdp

Ubuntu上的

Xrdp

访问CentOS的远程桌面

现在确认信息并启动连接。 如果您未在本地注销,则远程登录将失败。现在您将被要求输入密码

Xrdp

现在确认您的凭据。 您可以在顶部和登录页面上看到我的Ubuntu的IP地址, 输入您的密码连接。

如果你知道还有他工具, 请在评论里告知我们。

转载网址:https://www.linuxidc.com/Linux/2018-10/155073.htm

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这