工作台安裝了linux桌面發行版,同時想要做遠程控制
通過vnc遠程連接到工作台,發現vnc過去以后,本地屏幕也會顯示,所有操作暴露無遺~
找一找比vnc更安全的遠程桌面服務(也許是我vnc設置不對~請指教~)
發現鳥哥推薦:xrdp
http://linux.vbird.org/linux_server/0310telnetssh.php#xrdp
顧名思義,它模仿了windows下的rdp連接
首先配置epel
epel真的是太方便了,免除了編譯安裝的繁瑣,我們的目的在於快速使用,而非具體的調優
配置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”
然后出錯了(鳥哥~不是說直接跑起來就可以連上嗎~我的版本號也對呀,centos6.2)
然后看一下日志:/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://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發現的