XRDP讓CentOS變成rdp server


工作台安裝了linux桌面發行版,同時想要做遠程控制

通過vnc遠程連接到工作台,發現vnc過去以后,本地屏幕也會顯示,所有操作暴露無遺~

找一找比vnc更安全的遠程桌面服務(也許是我vnc設置不對~請指教~)

發現鳥哥推薦:xrdp

http://linux.vbird.org/linux_server/0310telnetssh.php#xrdp

顧名思義,它模仿了windows下的rdp連接

 

首先配置epel

epel真的是太方便了,免除了編譯安裝的繁瑣,我們的目的在於快速使用,而非具體的調優

https://fedoraproject.org/wiki/EPEL/zh-cn

配置epel

   1:  wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
   2:  rpm -ivh epel-release-6-8.noarch.rpm
   3:  yum clean all
   4:  yum makecache

 

然后安裝xrdp

xrdp直接yum安裝,安裝完后無需修改任何配置,直接啟動即可

   1:  yum install xrdp
   2:  ...
   3:  Installed:
   4:    xrdp.x86_64 0:0.5.0-0.13.el6
   5:  Dependency Installed:
   6:    tigervnc-server.x86_64 0:1.1.0-8.el6_5
   7:  ...

可以看到xrdp同時也會安裝tigervnc-server,vnc的作用下面就知道了

啟動就不用說了

/etc/init.d/xrdp start; chkconfig xrdp on

xrdp會啟動2個進程,2個端口

   1:  [root@master log]# netstat -nlp|grep xrdp
   2:  tcp        0      0 127.0.0.1:3350              0.0.0.0:*                   LISTEN      16922/xrdp-sesman
   3:  tcp        0      0 0.0.0.0:3389                0.0.0.0:*                   LISTEN      16918/xrdp

 

連接,試用

通過windows的遠程桌面連過去,有一個輸入框,輸入系統賬號和密碼,點“OK”

QQ圖片20140522150448

然后出錯了(鳥哥~不是說直接跑起來就可以連上嗎~我的版本號也對呀,centos6.2)

QQ圖片20140522143219

然后看一下日志:/var/log/xrdp-sesman.log

[20140522-14:36:55] [INFO ] scp thread on sck 7 started successfully
[20140522-14:36:55] [INFO ] ++ created session (access granted): username root, ip 192.168.1.100:53227 - socket: 7
[20140522-14:36:55] [INFO ] starting Xvnc session...
[20140522-14:37:05] [ERROR] X server for display 10 startup timeout
[20140522-14:37:05] [INFO ] starting xrdp-sessvc - xpid=16837 - wmpid=16836
[20140522-14:37:05] [ERROR] X server for display 10 startup timeout
[20140522-14:37:05] [ERROR] another Xserver is already active on display 10
[20140522-14:37:05] [DEBUG] aborting connection...
[20140522-14:37:05] [INFO ] ++ terminated session:  username root, display :10.0, session_pid 16834, ip 192.168.1.100:53227 - socket: 7

一籮筐東西,xserver is already active?什么情況?

搜索了一下,發現好多人碰到,比如說這位

http://thornelabs.net/2013/06/28/rhel-6-fix-xrdp-error-another-xserver-is-already-active-on-display-10.html

或者這位

http://fendertech.blogspot.ro/2013/04/xrdp-not-working-on-centos-62.html

都提到了字符問題,后面這位直接給出了解決方案:

yum install pixman libXfont

在我這邊運行,直接update了這兩個包

   1:  yum install pixman libXfont
   2:  ...
   3:    Updating   : libXfont-1.4.5-3.el6_5.x86_64
   4:    Updating   : pixman-0.26.2-5.1.el6_5.x86_64
   5:    Cleanup    : libXfont-1.4.1-2.el6_1.x86_64
   6:    Cleanup    : pixman-0.18.4-1.el6_0.1.x86_64
   7:  ...

然后重啟服務

再次連接,OK,搞定~!

 

為什么要依賴tigervnc-server

之前安裝xrdp會一起把vnc server安裝上,這個vnc sererver到底是干啥的

rdp連接上服務器以后,查看連接狀態

   1:  [root@master log]# netstat -tanp
   2:  Active Internet connections (servers and established)
   3:  Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
   4:  ......
   5:  tcp        0      0 127.0.0.1:5910              0.0.0.0:*                   LISTEN      16930/Xvnc
   6:  tcp        0      0 127.0.0.1:3350              0.0.0.0:*                   LISTEN      16922/xrdp-sesman
   7:  tcp        0      0 0.0.0.0:3389                0.0.0.0:*                   LISTEN      16918/xrdp
   8:  tcp        0      0 192.168.1.10:3389           192.168.1.100:53250         ESTABLISHED 16918/xrdp
   9:  tcp        0      0 127.0.0.1:5910              127.0.0.1:47050             ESTABLISHED 16930/Xvnc
  10:  tcp        0      0 192.168.1.10:53296          125.56.200.168:80           ESTABLISHED 8734/clock-applet
  11:  tcp        1      0 192.168.1.10:44985          96.17.151.11:80             CLOSE_WAIT  17072/clock-applet
  12:  tcp        0      0 127.0.0.1:47050             127.0.0.1:5910              ESTABLISHED 16918/xrdp
  13:  ......

有沒有看到pid為16930的那個Xvnc進程~

注意看第9行和第12行~

[xrdp的127.0.0.1:47050] 與 [Xvnc的127.0.0.1:5910] 是互連狀態

也就是說,rdp連接不過是個“假象”;外部設備連接到xrdp的3389端口,然后xrdp會從內部連接到一個內部的vnc服務

客戶端 –> [服務端:xrdp-3389] –> [服務端:xvnc-59xx]

 

為什么要“多此一舉”?

鳥哥說了vnc的加密設置很繁瑣,而rdp自帶了加密,這樣做起來,設備到設備之間的鏈路已經加密了,至於內部通信的加密在這里不算那么嚴重

 

小結

東東還是可以用,屏幕終端登錄和rdp遠程互不沖突,但跑進程的時候會有干擾了

2014-05-22發現的問題:

太卡了,家里100M無線網絡測試,即便把rdp設置為56K的網絡條件,操作也不是非常流暢

還有一個問題,丟PATH:/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin;是在運行ifconfig發現的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM