安全遠程桌面-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
