概述 {#%E6%A6%82%E8%BF%B0}
当前越来越多的企业都有使用 Linux 系统桌面的场景,本篇文章分别介绍了 XRDP 在 Ubuntu 22.04, 20.04.4 和 18.04.5 的安装方式,以及如何通过配置 XRDP 服务,实现 JumpServer 远程登陆 Ubuntu 桌面。
实现前 {#%E5%AE%9E%E7%8E%B0%E5%89%8D}
检查是否安装图形化工具
root@jinli:~# dpkg -l | grep ubuntu-desktop
ii ubuntu-desktop 1.450.2 amd64 The Ubuntu desktop system
ii ubuntu-desktop-minimal 1.450.2 amd64 The Ubuntu desktop minimal system
ubuntu 默认是安装了图形化工具的,环境如果没有安装的话,可以安装一些步骤搭建 GNOME 桌面环境
安装图形化
sudo apt update
sudo apt install ubuntu-desktop
设置默认开启图形化
sudo systemctl set-default graphical.target
reboot
实现方案 {#%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%A1%88}
一、安装并启动 xrdp {#%E4%B8%80%E3%80%81%E5%AE%89%E8%A3%85%E5%B9%B6%E5%90%AF%E5%8A%A8-xrdp}
1.1 安装 xrdp {#1.1-%E5%AE%89%E8%A3%85-xrdp}
Ubuntu 的安装源里包含 xrdp,可以直接安装。
1 Ubuntu 22.04.1 安装方式 {#1-ubuntu-22.04.1-%E5%AE%89%E8%A3%85%E6%96%B9%E5%BC%8F}
#更新软件包列表:
sudo apt update
#安装xrdp:
sudo apt install xrdp
#如果你正在使用GNOME桌面环境,可能需要安装一个兼容的会话管理器:
sudo apt install xorgxrdp
`#安装后,查看当前xrdp版本:
xrdp -v
xrdp 0.9.17`
2 Ubuntu 20.04.4 安装方式 {#2-ubuntu-20.04.4-%E5%AE%89%E8%A3%85%E6%96%B9%E5%BC%8F}
# 检查可安装程序
sudo apt list | grep xrdp
xorgxrdp/focal,now 1:0.2.12-1 amd64
xrdp/focal,now 0.9.12-1 amd64
安装
===
sudo apt install xrdp -y
当前版本为 0.9.12
============
`xrdp -v
xrdp 0.9.12`
3 Ubuntu 18.04.5 安装方式 {#3-ubuntu-18.04.5-%E5%AE%89%E8%A3%85%E6%96%B9%E5%BC%8F}
# 直接安装 xrdp 会导致远程后蓝屏,需要配合其他组件一起安装
# 如果已经安装过 xrdp 和 tightvncserver 需先卸载,然后重启系统
# 如果安装报错:E: Unable to locate package xxx,执行 sudo apt-get update 后重试
sudo apt-get purge xrdp -y
sudo apt-get purge tightvncserver -y
sudo reboot
安装
===
sudo apt-get install xserver-xorg-core -y
sudo apt-get install xserver-xorg-input-all -y
sudo apt-get install xrdp -y
sudo apt-get install xorgxrdp -y
当前版本为 0.9.8
===========
`xrdp -v
xrdp 0.9.8`
1.2 启动 xrdp {#1.2-%E5%90%AF%E5%8A%A8-xrdp}
配置文件是 /etc/xrdp/xrdp.ini 一般不需要修改,日志输出在 /var/log/xrdp.log 和 /var/log/xrdp-sesman.log。
# 默认情况下,xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key
# 它仅仅对 ssl-cert 用户组成员可读,所以需要运行下面的命令,将 xrdp 用户添加到这个用户组
sudo adduser xrdp ssl-cert
启动
===
sudo systemctl start xrdp
设置开机自启动
=======
sudo systemctl enable xrdp
检查监听端口
======
`sudo ss -nlpt | grep 3389
LISTEN 0 2 *:3389 `:` users:(("xrdp",pid=861,fd=11))`
二、mstsc 连接验证 {#%E4%BA%8C%E3%80%81mstsc-%E8%BF%9E%E6%8E%A5%E9%AA%8C%E8%AF%81}
安装好以后可以使用 windows 自带的 mstsc 连接测试。
在开始菜单打开运行,输入 mstsc 点击确定。
配置防火墙开放 3389 端口。
sudo ufw allow 3389/tcp
Seesion 选择 Xorg 模式
等待连接成功
三、JumpServer 配置远程连接 {#%E4%B8%89%E3%80%81jumpserver-%E9%85%8D%E7%BD%AE%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5}
3.1 资产和授权配置 {#3.1-%E8%B5%84%E4%BA%A7%E5%92%8C%E6%8E%88%E6%9D%83%E9%85%8D%E7%BD%AE}
依次点击---资产管理---资产列表---创建,创建资产时注意要有 rdp 的协议。
添加资产账号
进行资产授权
权限管理---资产授权----创建
3.2 登陆 {#3.2-%E7%99%BB%E9%99%86}
1 使用 Web GUI 方式登陆 {#1-%E4%BD%BF%E7%94%A8-web-gui-%E6%96%B9%E5%BC%8F%E7%99%BB%E9%99%86}
连接的时候选择 RDP 客户端连接
测试下来 web gui 方式连接的可以进行监控和录像回放
注意:razor组件客户端连接方式,无法监控和录像回放
四、解决已知问题 {#%E5%9B%9B%E3%80%81%E8%A7%A3%E5%86%B3%E5%B7%B2%E7%9F%A5%E9%97%AE%E9%A2%98}
4.1连接黑屏问题 {#4.1%E8%BF%9E%E6%8E%A5%E9%BB%91%E5%B1%8F%E9%97%AE%E9%A2%98}
修改配置文件
# 修改 /etc/xrdp/startwm.sh 文件,在下图的位置加入这两行
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
重启生效
====
`sudo systemctl restart xrdp`
需要注意一下添加的位置
检查用户创建是否有问题,有的用户创建时没有家目录导致连接黑屏
sudo usermod -d /home/username username
chown username:username username
4.2 连接认证失败,root登录问题 {#4.2-%E8%BF%9E%E6%8E%A5%E8%AE%A4%E8%AF%81%E5%A4%B1%E8%B4%A5%2Croot%E7%99%BB%E5%BD%95%E9%97%AE%E9%A2%98}
第一次远程可以连接,后面选程连接会失败,需要做一些配置调整
修改 gdm 配置 {#%E4%BF%AE%E6%94%B9-gdm-%E9%85%8D%E7%BD%AE}
vim /etc/pam.d/gdm-autologin
#注释掉行 "auth requied pam_succeed_if.so user != root quiet success"
`vim /etc/pam.d/gdm-password
#注释掉行 "auth requied pam_succeed_if.so user != root quiet success"`
修改 /root/.profile,屏蔽最后一行,并添加一行 tty -s && mesg n || true。
4.3 解决普通用户远程登陆时提示认证的问题 {#4.3-%E8%A7%A3%E5%86%B3%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E8%BF%9C%E7%A8%8B%E7%99%BB%E9%99%86%E6%97%B6%E6%8F%90%E7%A4%BA%E8%AE%A4%E8%AF%81%E7%9A%84%E9%97%AE%E9%A2%98}
需要授权来创建色彩管理设备 / Authentication is required to create a color managed device
需要授权来移除色彩管理设备 / Authentication is required to remove a color managed device
刷新系统软件源需要认证 / Authentication is required to refresh the system repositories
解决方法,创建文件 /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla 并写入下面内容
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
4.4 解决登陆时还需要再输入一遍密码的问题 {#4.4-%E8%A7%A3%E5%86%B3%E7%99%BB%E9%99%86%E6%97%B6%E8%BF%98%E9%9C%80%E8%A6%81%E5%86%8D%E8%BE%93%E5%85%A5%E4%B8%80%E9%81%8D%E5%AF%86%E7%A0%81%E7%9A%84%E9%97%AE%E9%A2%98}
图形界面会自动锁屏,登陆时xrdp已经验证了一遍,但锁屏后还会要求再输入一遍密码。解决方式是关闭自动锁屏。
注意!关闭锁屏要在远程的界面操作。