使用VNC實(shí)現(xiàn)Linux的遠(yuǎn)程管理
1、VNC簡(jiǎn)介
在開(kāi)源領(lǐng)域,遠(yuǎn)程遙控技術(shù)的代表就是VNC了。VNC(Virtual Network Computer,虛擬網(wǎng)絡(luò)計(jì)算機(jī))是一套由AT&T實(shí)驗(yàn)室開(kāi)發(fā)的可操控遠(yuǎn)程計(jì)算機(jī)的軟件。VNC軟件可以分為兩個(gè)部分,分別為VNC Server與VNC viewer。前者是安裝在被控制端上,而后者被安裝在主控端上。VNC軟件不僅是開(kāi)源的,而且是跨平臺(tái)的。為此有不少系統(tǒng)管理員,他們可能使用的是微軟的操作系統(tǒng),也喜歡使用這個(gè)VNC來(lái)作為遠(yuǎn)程管理Linux服務(wù)器或者客戶端的工具。
VNC運(yùn)行的工作流程如下:
(1)VNC客戶端通過(guò)瀏覽器或VNC Viewer連接至VNC Server。
(2)VNC Server傳送一對(duì)話窗口至客戶端,要求輸入連接密碼,以及存取的VNC Server顯示裝置。
(3)在客戶端輸入聯(lián)機(jī)密碼后,VNC Server驗(yàn)證客戶端是否具有存取權(quán)限。
(4)若是客戶端通過(guò)VNC Server的驗(yàn)證,客戶端即要求VNC Server顯示桌面環(huán)境。
(5)VNC Server通過(guò)X Protocol 要求X Server將畫(huà)面顯示控制權(quán)交由VNC Server負(fù)責(zé)。
(6)VNC Server將來(lái)由 X Server的桌面環(huán)境利用VNC通信協(xié)議送至客戶端,并且允許客戶端控制VNC Server的桌面環(huán)境及輸入裝置。
2、啟動(dòng)VNC服務(wù)器
利用VNC軟件實(shí)現(xiàn)遠(yuǎn)程控制的基本原理是主控端利用VNC客戶端發(fā)起連接請(qǐng)求,被控端同意后即可建立遠(yuǎn)程控制。此時(shí)主控端就可以遠(yuǎn)程操控被控端。為此要利用VNC軟件來(lái)遠(yuǎn)程操控Linux操作系統(tǒng)的話,必須先在Linux操作系統(tǒng)上啟動(dòng)VNC服務(wù)器軟件。否則的話,是無(wú)法建立VNC連接的。不過(guò)在大部分的Linux操作系統(tǒng)中,如紅帽子的Linux系統(tǒng),一般默認(rèn)都會(huì)安裝有VNC服務(wù)器的。不過(guò)其出于安全的考慮,一般都是關(guān)閉的。如果系統(tǒng)管理員要想利用VNC來(lái)實(shí)現(xiàn)遠(yuǎn)程操控的話,就需要在Linux操作系統(tǒng)上啟動(dòng)VNC服務(wù)器。
在Linux操作系統(tǒng)的命令行下,系統(tǒng)管理員可以輸入vncserver命令來(lái)啟動(dòng)VNC服務(wù)器。在啟動(dòng)的過(guò)程中為了安全起見(jiàn),操作系統(tǒng)會(huì)提示系統(tǒng)管理員輸入VNC連接的密碼。系統(tǒng)管理員最好能夠在這里輸入比較復(fù)雜的密碼,如英文字符與數(shù)字結(jié)合的密碼,以增加供給者破譯的難度。由于建立VNC連接后,主控端可以像操作自己的電腦那樣來(lái)操作被控端。所以這個(gè)密碼將是將是保障其安全的最后屏障。啟動(dòng)成功后如圖所示:
啟動(dòng)VNC Server示意圖
密碼配置完成后,Linux操作系統(tǒng)最后還會(huì)提示VNC連接的地址。如上面所示,最后系統(tǒng)管理員可以使用localhost.localdomain來(lái)遠(yuǎn)程操控Linux操作系統(tǒng)。以后在VNC客戶端上只要輸入這個(gè)網(wǎng)絡(luò)地址,就可以連接到VNC服務(wù)器上。如果后續(xù)需要更改VNC的連接密碼,需要使用vncpasswd來(lái)進(jìn)行更改。注意不是passwd。這跟更改用戶密碼的命令不同。一般情況下,只要正常顯示了其網(wǎng)絡(luò)地址,那么這個(gè)VNC服務(wù)就是正常啟動(dòng)了。
另外為了安全起見(jiàn),中斷VNC服務(wù)器之后,最好在服務(wù)器上能夠及時(shí)關(guān)閉VNC應(yīng)用服務(wù)器。關(guān)閉的命令如上,只需要運(yùn)行如下命令即可:#vncserver –kill :1
其中最后的1表示之前啟動(dòng)的窗口編號(hào)。系統(tǒng)管理員應(yīng)該養(yǎng)成一個(gè)習(xí)慣,即當(dāng)某個(gè)服務(wù)啟動(dòng)后,要及時(shí)關(guān)閉它。多啟動(dòng)一個(gè)服務(wù),就多個(gè)黑客一個(gè)攻擊的機(jī)會(huì)。特別是將操作系統(tǒng)當(dāng)作服務(wù)器來(lái)使用的時(shí)候,這個(gè)習(xí)慣能夠在很大程度上提高服務(wù)器系統(tǒng)的安全性。其實(shí)不光光是VNC服務(wù)器是如此,像其他的Telnet服務(wù)等等也要養(yǎng)成這個(gè)習(xí)慣。一般來(lái)說(shuō),Linux操作系統(tǒng)默認(rèn)不啟動(dòng)的服務(wù),系統(tǒng)管理員在啟動(dòng)他們之后,最后都要及時(shí)關(guān)閉。
不過(guò)如果企業(yè)的布局比較大,如從系統(tǒng)管理員的辦公室到Linux操作系統(tǒng)客戶端那邊需要走半個(gè)小時(shí)。此時(shí)為了管理的方便,如果對(duì)方操作系統(tǒng)知識(shí)用來(lái)做普通的客戶端的話,那么就可以讓Linux操作系統(tǒng)在啟動(dòng)時(shí)自動(dòng)啟動(dòng)VNC服務(wù)器。以方便在遇到問(wèn)題時(shí),系統(tǒng)管理員能夠及時(shí)連接上VNC服務(wù)器進(jìn)行遠(yuǎn)程故障排除或者遠(yuǎn)程協(xié)助。由于客戶端的安全性要求比怎么嚴(yán)格,所以在管理便利上方面可以做出一定程度的妥協(xié)。但是如果操作系統(tǒng)是作為服務(wù)器的話,那么開(kāi)機(jī)自動(dòng)啟動(dòng)VNC服務(wù)器類(lèi)似的操作,系統(tǒng)管理員需要謹(jǐn)慎。如果系統(tǒng)管理員確定需要開(kāi)機(jī)時(shí)自動(dòng)啟動(dòng)VNC服務(wù)器,則可以通過(guò)ntsysv服務(wù)來(lái)定義。即只需要在命令行狀態(tài)下,輸入命令ntsysv,然后選中vncserver條目(按空格選擇),即設(shè)置了開(kāi)機(jī)即啟動(dòng)VNC服務(wù)器。然后需要修改/etc/sysconfig/vncservers配置文件。找到這個(gè)文件中的VNCSERVER=”1:root”這個(gè)條目(如下圖所示)。默認(rèn)情況下操作系統(tǒng)是將這一行注釋掉的。系統(tǒng)管理員只需要將前面的注釋符號(hào)去掉即可。如此設(shè)置后,當(dāng)操作系統(tǒng)在下次啟動(dòng)后就會(huì)自動(dòng)啟用VNC服務(wù)器。如此系統(tǒng)管理員就可以遠(yuǎn)程來(lái)控制Linux操作系統(tǒng),進(jìn)行軟件安裝、系統(tǒng)配置、遠(yuǎn)程協(xié)作等等操作。
3、使用VNC Viewer實(shí)現(xiàn)Linux遠(yuǎn)程管理
在配置好VNC Server后,可以使用VNC Viewer來(lái)實(shí)現(xiàn)Linux的遠(yuǎn)程登錄和管理了。在Linux下面已經(jīng)自帶了該客戶端程序,用戶可以打開(kāi)[應(yīng)用程序]菜單,在彈出的級(jí)聯(lián)菜單中選擇[VNC Viewer],如圖所示:
使用VNC Viewer
系統(tǒng)會(huì)彈出如8所示的VNC Server登錄對(duì)話框,用戶需要指定待登錄的服務(wù)器地址:
輸入VNC Server地址
輸入地址后,VNC Viewer連接上VNC Server,Server需要對(duì)VNC客戶端進(jìn)行身份驗(yàn)證,輸入之前設(shè)置的密碼即可。待客戶端通過(guò)服務(wù)器端的驗(yàn)證后,則會(huì)進(jìn)入如圖10所示的遠(yuǎn)程登錄界面,用戶就可以在圖形界面下簡(jiǎn)單、方便地對(duì)遠(yuǎn)程的Linux進(jìn)行訪問(wèn)和管理了。