利用VNC遠(yuǎn)程遙控Linux操作系統(tǒng)
在電影中,我們經(jīng)常會(huì)看到一個(gè)黑客遠(yuǎn)程控制了某臺(tái)電腦,并且可以對(duì)其進(jìn)行任何的操作,如打開(kāi)對(duì)方的攝像頭等等。這難度很大嗎?其實(shí)不然。只要你具有對(duì)方操作系統(tǒng)的帳號(hào)與密碼,就可以實(shí)現(xiàn)遠(yuǎn)程遙控Linux操作系統(tǒng)。筆者今天就給大家介紹一下,如何通過(guò)VNC來(lái)實(shí)現(xiàn)遠(yuǎn)程遙控Linux操作系統(tǒng)。
一、VNC的特點(diǎn)與應(yīng)用。
遠(yuǎn)程遙控技術(shù)是由一臺(tái)計(jì)算機(jī)去控制另外一臺(tái)計(jì)算機(jī)的一種技術(shù)。被控制的電腦叫做被控端,而控制別人電腦的計(jì)算機(jī)叫作主控端。當(dāng)被控端被主控端所控制時(shí),就如同用戶親自坐在被控端前操作一樣,主控端可以執(zhí)行被控端的任何應(yīng)用程序,使用被控端的任何系統(tǒng)資源。前提是主控端使用的這個(gè)賬戶具有對(duì)應(yīng)的權(quán)限。如主控端可以輕松打開(kāi)被動(dòng)端的攝像頭等等。設(shè)想一下,當(dāng)用戶在午休時(shí)可能沒(méi)有關(guān)閉電腦,此時(shí)若主控端無(wú)聲無(wú)息的打開(kāi)攝像頭,那將是多么一件恐怖的事情。不過(guò)遠(yuǎn)程遙控技術(shù)剛被開(kāi)發(fā)出來(lái)的時(shí)候,其意圖是好的。只要用來(lái)幫助系統(tǒng)管理員實(shí)現(xiàn)遠(yuǎn)程管理與遠(yuǎn)程協(xié)助的需要。后來(lái)才被黑客利用,來(lái)進(jìn)行一些非法的勾當(dāng)。
在開(kāi)源領(lǐng)域,遠(yuǎn)程遙控技術(shù)的代表就是VNC了。VNC(虛擬網(wǎng)絡(luò)計(jì)算機(jī))是一套由AT&T實(shí)驗(yàn)室開(kāi)發(fā)的可操控遠(yuǎn)程計(jì)算機(jī)的軟件。這個(gè)軟件是開(kāi)源的。也就是說(shuō),任何人都可以免費(fèi)取得并不受限制的使用這款軟件。根據(jù)主控端與被控端的不同,VNC軟件可以分為兩個(gè)部分,分別為VNC Server與VNC viewer。前者是安裝在被控制端上,而后者被安裝在主控端上。VNC軟件不僅是開(kāi)源的,而且是跨平臺(tái)的。也就是說(shuō),其不僅在Linux操作系統(tǒng)上可以使用,而且也支持Windows操作系統(tǒng)。為此有不少系統(tǒng)管理員,他們可能使用的是微軟的操作系統(tǒng),也喜歡使用這個(gè)VNC來(lái)作為遠(yuǎn)程管理Linux服務(wù)器或者客戶端的工具。
另外筆者還用過(guò)一款商業(yè)的遠(yuǎn)程控制軟件,它是由Symantec公司研制開(kāi)發(fā)的pcAnywhere工具。這款工具相對(duì)來(lái)說(shuō),功能要比VNC軟件強(qiáng)的多。無(wú)論是安全上還是可控性上,兩者都不能夠相比的。但是這款軟件是商業(yè)軟件,企業(yè)必須付費(fèi)使用。而且他不支持Linux操作系統(tǒng),到目前為止只能夠在Windows操作系統(tǒng)上使用。這就大大限制了其使用的范圍。筆者這里就以VNC軟件為例,談?wù)勅绾螌?shí)現(xiàn)遠(yuǎn)程遙控Linux操作系統(tǒng)。
二、在Linux操作系統(tǒng)上啟動(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è)密碼將是將是保障其安全的最后屏障。
密碼配置完成后,Linux操作系統(tǒng)最后還會(huì)提示VNC連接的地址。如上面所示,最后系統(tǒng)管理員可以使用mail.dfg.cn來(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)了。
#p#
另外為了安全起見(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é)作等等操作。
三、通過(guò)多種方式來(lái)遠(yuǎn)程遙控Linux操作系統(tǒng)。
有時(shí)候可能在主控端上沒(méi)有安裝VNC客戶端,那么該怎么辦呢?如在XP等微軟操作系統(tǒng)上,默認(rèn)情況下是沒(méi)有安裝VNC客戶端軟件的。如果要使用VNC客戶端的話,需要從網(wǎng)絡(luò)上下載免費(fèi)的VNC軟件進(jìn)行安裝,安裝后再使用。雖然這個(gè)軟件是免費(fèi)的,而且安裝也不需要太多的空間。但是有些系統(tǒng)管理員會(huì)認(rèn)為比較麻煩。其實(shí)在沒(méi)有VNC客戶端的情況下也可以通過(guò)VNC來(lái)遠(yuǎn)程遙控?;蛘哒f(shuō),其實(shí)微軟操作系統(tǒng)的瀏覽器本身就可以當(dāng)作VNC客戶端來(lái)使用。
如果要通過(guò)瀏覽器來(lái)遠(yuǎn)程遙控Linux操作系統(tǒng)的話,在輸入網(wǎng)址的時(shí)候有點(diǎn)講究。其基本格式為被控端的網(wǎng)址(或者被控端的主機(jī)IP地址):端口號(hào)。如果被控端是Linux操作系統(tǒng)的話,這個(gè)端口號(hào)有點(diǎn)講究。端口的基本格式為5800+窗口編號(hào)。即如上圖所示,其為VNC啟用的窗口編號(hào)為1,則其最終的地址格式為mail.dfg.cn:5801。通過(guò)這個(gè)地址就可以連接到Linux操作系統(tǒng)的VNC服務(wù)器。此時(shí)這個(gè)瀏覽器就好像是VNC客戶端,可以遠(yuǎn)程操控Linux操作系統(tǒng)。其實(shí)也可以在微軟操作系統(tǒng)上安裝并啟用VNC服務(wù)器。不過(guò)此時(shí)如果通過(guò)瀏覽器來(lái)遠(yuǎn)程控制微軟VNC服務(wù)器時(shí),這個(gè)地址中的窗口編號(hào)跟Linux操作系統(tǒng)中的不同。此時(shí)這個(gè)端口號(hào)就是5800,不用再加上窗口編號(hào)了,因?yàn)槲④洸僮飨到y(tǒng)沒(méi)有窗口編號(hào)一說(shuō)。
【編輯推薦】