安全远程桌面-xrdp
安全远程桌面-xrdp
长话短说,昨晚盖的大棉被好几次热醒我,还以为要中暑(今天一天下来迷迷糊糊的)。。。为啥不早点休息?因为趁热打铁,拖越久越不想整理(在2021年1月~2月,两个月里我基本整理完在公司两年来的技术研究,那叫一个累呀~~,所以建议大家,今日事,今日毕哦)
这个xrdp据说是安全的远程桌面,等保要求说如果非得要连接mysql(不是命令行),可以用本机的安全桌面去连。
以下摘自原话:
安全的远程桌面包括:windows RDP2.5以上、linux的XRDP 、XSSH;
非安全的远程桌面包括:Xdmcp、VNC;
安全的远程终端包括:SSH;
非安全的远程终端包括:telnet、rsh、rlogin、rexec
本来想把XSSH也装来测试,发现没找到文档,只好作罢。
一、部署坑
找到这篇:https://www.linuxprobe.com/centos7-xrdp-remote-desktop.html,短小精悍,以为很顺利,装完,连接成这个样:
初看像中邪了,没有找到解决方法,恢复快照再来过(幸好有备无患,测试前打了个快照)。回忆了下,发现装的时候,运行:yum grouplist是中文显示的,根本看不到Xfce,但运行 “yum groupinstall Xfce” 却没问题,不知道是不是这个原因,尝试百分百模拟整个贴子的测试环境
开始修改系统区域配置文件:/etc/locale.conf,改完source一下文件,"yum grouplist"显示英文了。
LANG="zh_CN.UTF-8" 改成 LANG="en_US.UTF-8"
之后对该贴子有点恐惧,于是结合这篇:https://blog.51cto.com/u_13528032/2120925,东拼西凑,取其精华去其糟粕,改动如下:
(1)51cto这篇,我没有安装TigerVNC,参考它的配置Xfce的中文字体、中文输入法、输入法选择器、Xfce中文显示(因为无论是linux还是windows,远程桌面都建议有中文显示,相对国人而言哈~~),配置xfce为默认桌面,也就是这个:
vim ~/.Xclients 写入下面内容: #!/bin/bash XFCE="$(which xfce4-session 2>/dev/null)" exec "$XFCE"
(2)linuxprobe 这篇,只参考里面的命令安装xrdp和Xfce(对于那些坑过我的文章,后续我都会保持警惕)
二、连接坑
上面部署都是用root去运行的,所以远程连接也是用root。但这样明显是不符合实际需求的,得让普通用户连接使用
1、坑一:普通用户远程连接,远程桌面直接闪退
当时我建了个普通用户,输入正确的账号密码,输入完登不进去,直接跳回远程连接的页面,就这个(再三确认过输入的密码是无比正确滴):
查看日志:/var/log/xrdp.log,报错如下:
网上方法查了一轮,歪果仁说协议不对(https://forums.centos.org/viewtopic.php?f=47&t=75742),国人的一篇解决文档都找不到,我甚至脑洞大到以为是xrdp配置文件找不到key和cert文件,好心加了上去 = =
最后重新梳理51cto的部署过程,看到一个东西:
这里没说配到哪个用户,当时我是root去安装,那理所当然就配到root下。那是不是意味着如果普通用户要远程连接,也要配一个?还真的是,在要远程连接的普通用户下配一个这样的文件,远程连接就没再闪退了,日志文件也没报错。
2、坑二:普通用户连接后,找不到workbench
workbench是linux装的mysql的一个图形控制界面。为了快,我用rpm装了个mysql-5.7.17,然后再去官网找个:mysql-workbench,发现没有对应版本说明的,也就是workbench跟mysql 版本的对应关系,因此装的时候也是一波三折(报错各种缺依赖),最后找了个:mysql-workbench-community-6.3.8-1.el7.x86_64.rpm
记得不要用rpm -ivh 去安装,而是用yum去装(会解决相关包依赖)
然后讲下坑二,当root连过去时,界面如下:
左上角是有个”所有应用程序“,然后很容易找到工具:workbench
普通用户需要右键属性去找(真是隐藏特别深。。。):
最后给大家看看workbench的ER图:
(如果表与表之间有字段关联,会有线连接的)
还有用Xfce桌面的优点(轻量):https://zhuanlan.zhihu.com/p/54101381