Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

您多久访问一次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 18.10上

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

apt install 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服务

linuxidc@linuxidc:~$ sudo systemctl restart 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

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

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使用端口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。

现在,您可以在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来配置

[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地址和用户名

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

Ubuntu上的

访问CentOS的远程桌面

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

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

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

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-10/155073.htm

Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)的更多相关文章

  1. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)(转载)

            您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面. 除了Windows RDP之外,xr ...

  2. window用Xmanager4.0的Xstart连接linux远程桌面

    安装包: xorg-x11-xauth xterm.x86_64 0:253-1.el6 Execute command path:/usr/bin/xterm Xstart连接Linux远程桌面有一 ...

  3. 连接Linux远程桌面的几个方法

    有下面五种方法: 一.通过xshell或putty直接调用程序窗口(通过ssh命令行连接). 二.通过xbrower连接Linux完整的桌面. 通过xshell直接调用程序窗口. rhel5的gdm的 ...

  4. 本文介绍使用windows系统自带的远程桌面mstsc连接Centos 7.x远程桌面的基本方法。

    本文介绍使用windows系统自带的远程桌面mstsc连接Centos 7.x远程桌面的基本方法. 一.前言 我希望用windows远程访问centos图形界面.xmanager连接centos远程桌 ...

  5. linux 远程桌面连接

    我们知道在windows下面我们可以用远程桌面连接来控制其它电脑, 但linux 远程桌面连接?不过在说怎样连接之前还是要先明确一个概念,为什么我标题没有用linux中的远程桌面连接呢, 这是因为Li ...

  6. Pycharm 连接Linux 远程开发

    Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...

  7. 修改windows 2012/win8、win7远程桌面连接默认端口的方法

    远程桌面连接服务基于端口3389,入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目. 修改windows 2 ...

  8. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  9. linux-Navicat连接linux远程数据

    linux-Navicat连接linux远程数据 (一)登陆数据库 (二)创建用户用于远程连接 GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED B ...

随机推荐

  1. windows2003安装php ,mysql,fastgui

    在上一章中,windows2003的iis搭建已经完成,但是我们现在用的多的也包含php,该如何让Windows2003成功使用php文件呢? windows2003需要先行安装vc9运行库才能与fa ...

  2. 简述Java多线程(一)

    JAVA多线程 程序:是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念. 进程:是执行程序的一次执行过程,是一个动态的概念,是系统资源分配的单位. 线程是CPU调度和执行的单位. 创 ...

  3. Spring Boot 接口幂等插件使用

    幂等概述 幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质.用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的. 幂等性 ...

  4. Kubernetes部署metrics-server提示健康检测报错500,简单解决方式

    为什么写? 最近有项目要用到HPA(Horizontal Pod Autoscaler)依赖了k8s的 metrics 指标才能做出自动缩扩容的动作,我这边用官方GitHub v0.4.2版本启动不起 ...

  5. 4. selectKey语句属性配置细节

    selectKey语句属性配置细节:

  6. 实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能

    本篇实现Web请求后端Api的Demo,实现是通过JQuery的AJAX实现后端请求,以及对请求到的数据的解析处理,实现登录功能需求描述:1. 请求后端Api接口地址2. 根据返回信息进行判断处理前端 ...

  7. JAVAEE_Servlet_15_HttpServletRequest中常用方法(二)

    HttpServletRequest中常用方法 ## HttpServletRequest中的第二类方法 获取各种路径 和 IP地址 * 获取路径和地址 - 获取ServletContext上下文对象 ...

  8. python进阶(17)协程

    协程 协程(Coroutine),又称微线程,纤程.(协程是一种用户态的轻量级线程)   作用:在执行 A 函数的时候,可以随时中断,去执行 B 函数,然后中断B函数,继续执行 A 函数 (可以自动切 ...

  9. 数据结构之Stack | 让我们一块来学习数据结构

    栈的介绍 栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题.栈是一种高 效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现. 栈的使用遍布程序语言实现的方方 ...

  10. NumPy之:数据类型对象dtype

    目录 简介 dtype的定义 可转换为dtype的对象 dtype对象 None 数组标量类型 通用类型 内置Python类型 带有.dtype属性的对象 一个字符的string对象 数组类型的Str ...