利用VNC遠程遙控Linux操作系統
在電影中,我們經常會看到一個黑客遠程控制了某臺電腦,并且可以對其進行任何的操作,如打開對方的攝像頭等等。這難度很大嗎?其實不然。只要你具有對方操作系統的帳號與密碼,就可以實現遠程遙控Linux操作系統。筆者今天就給大家介紹一下,如何通過VNC來實現遠程遙控Linux操作系統。
一、VNC的特點與應用。
遠程遙控技術是由一臺計算機去控制另外一臺計算機的一種技術。被控制的電腦叫做被控端,而控制別人電腦的計算機叫作主控端。當被控端被主控端所控制時,就如同用戶親自坐在被控端前操作一樣,主控端可以執行被控端的任何應用程序,使用被控端的任何系統資源。前提是主控端使用的這個賬戶具有對應的權限。如主控端可以輕松打開被動端的攝像頭等等。設想一下,當用戶在午休時可能沒有關閉電腦,此時若主控端無聲無息的打開攝像頭,那將是多么一件恐怖的事情。不過遠程遙控技術剛被開發出來的時候,其意圖是好的。只要用來幫助系統管理員實現遠程管理與遠程協助的需要。后來才被黑客利用,來進行一些非法的勾當。
在開源領域,遠程遙控技術的代表就是VNC了。VNC(虛擬網絡計算機)是一套由AT&T實驗室開發的可操控遠程計算機的軟件。這個軟件是開源的。也就是說,任何人都可以免費取得并不受限制的使用這款軟件。根據主控端與被控端的不同,VNC軟件可以分為兩個部分,分別為VNC Server與VNC viewer。前者是安裝在被控制端上,而后者被安裝在主控端上。VNC軟件不僅是開源的,而且是跨平臺的。也就是說,其不僅在Linux操作系統上可以使用,而且也支持Windows操作系統。為此有不少系統管理員,他們可能使用的是微軟的操作系統,也喜歡使用這個VNC來作為遠程管理Linux服務器或者客戶端的工具。
另外筆者還用過一款商業的遠程控制軟件,它是由Symantec公司研制開發的pcAnywhere工具。這款工具相對來說,功能要比VNC軟件強的多。無論是安全上還是可控性上,兩者都不能夠相比的。但是這款軟件是商業軟件,企業必須付費使用。而且他不支持Linux操作系統,到目前為止只能夠在Windows操作系統上使用。這就大大限制了其使用的范圍。筆者這里就以VNC軟件為例,談談如何實現遠程遙控Linux操作系統。
二、在Linux操作系統上啟動VNC服務器。
利用VNC軟件實現遠程控制的基本原理是主控端利用VNC客戶端發起連接請求,被控端同意后即可建立遠程控制。此時主控端就可以遠程操控被控端。為此要利用VNC軟件來遠程操控Linux操作系統的話,必須先在Linux操作系統上啟動VNC服務器軟件。否則的話,是無法建立VNC連接的。不過在大部分的Linux操作系統中,如紅帽子的Linux系統,一般默認都會安裝有VNC服務器的。不過其出于安全的考慮,一般都是關閉的。如果系統管理員要想利用VNC來實現遠程操控的話,就需要在Linux操作系統上啟動VNC服務器。
在Linux操作系統的命令行下,系統管理員可以輸入vncserver命令來啟動VNC服務器。在啟動的過程中為了安全起見,操作系統會提示系統管理員輸入VNC連接的密碼。系統管理員最好能夠在這里輸入比較復雜的密碼,如英文字符與數字結合的密碼,以增加供給者破譯的難度。由于建立VNC連接后,主控端可以像操作自己的電腦那樣來操作被控端。所以這個密碼將是將是保障其安全的最后屏障。
密碼配置完成后,Linux操作系統最后還會提示VNC連接的地址。如上面所示,最后系統管理員可以使用mail.dfg.cn來遠程操控Linux操作系統。以后在VNC客戶端上只要輸入這個網絡地址,就可以連接到VNC服務器上。如果后續需要更改VNC的連接密碼,需要使用vncpasswd來進行更改。注意不是passwd。這跟更改用戶密碼的命令不同。一般情況下,只要正常顯示了其網絡地址,那么這個VNC服務就是正常啟動了。
#p#
另外為了安全起見,中斷VNC服務器之后,最好在服務器上能夠及時關閉VNC應用服務器。關閉的命令如上,只需要運行vncserver –kill :1命令即可。其中最后的1表示之前啟動的窗口編號。系統管理員應該養成一個習慣,即當某個服務啟動后,要及時關閉它。多啟動一個服務,就多個黑客一個攻擊的機會。特別是將操作系統當作服務器來使用的時候,這個習慣能夠在很大程度上提高服務器系統的安全性。其實不光光是VNC服務器是如此,像其他的Telnet服務等等也要養成這個習慣。一般來說,Linux操作系統默認不啟動的服務,系統管理員在啟動他們之后,最后都要及時關閉。
不過如果企業的布局比較大,如從系統管理員的辦公室到Linux操作系統客戶端那邊需要走半個小時。此時為了管理的方便,如果對方操作系統知識用來做普通的客戶端的話,那么就可以讓Linux操作系統在啟動時自動啟動VNC服務器。以方便在遇到問題時,系統管理員能夠及時連接上VNC服務器進行遠程故障排除或者遠程協助。由于客戶端的安全性要求比怎么嚴格,所以在管理便利上方面可以做出一定程度的妥協。但是如果操作系統是作為服務器的話,那么開機自動啟動VNC服務器類似的操作,系統管理員需要謹慎。如果系統管理員確定需要開機時自動啟動VNC服務器,則可以通過ntsysv服務來定義。即只需要在命令行狀態下,輸入命令ntsysv,然后選中vncserver條目(按空格選擇),即設置了開機即啟動VNC服務器。然后需要修改/etc/sysconfig/vncservers配置文件。找到這個文件中的VNCSERVER=”1:root”這個條目。默認情況下操作系統是將這一行注釋掉的。系統管理員只需要將前面的注釋符號去掉即可。如此設置后,當操作系統在下次啟動后就會自動啟用VNC服務器。如此系統管理員就可以遠程來控制Linux操作系統,進行軟件安裝、系統配置、遠程協作等等操作。
三、通過多種方式來遠程遙控Linux操作系統。
有時候可能在主控端上沒有安裝VNC客戶端,那么該怎么辦呢?如在XP等微軟操作系統上,默認情況下是沒有安裝VNC客戶端軟件的。如果要使用VNC客戶端的話,需要從網絡上下載免費的VNC軟件進行安裝,安裝后再使用。雖然這個軟件是免費的,而且安裝也不需要太多的空間。但是有些系統管理員會認為比較麻煩。其實在沒有VNC客戶端的情況下也可以通過VNC來遠程遙控。或者說,其實微軟操作系統的瀏覽器本身就可以當作VNC客戶端來使用。
如果要通過瀏覽器來遠程遙控Linux操作系統的話,在輸入網址的時候有點講究。其基本格式為被控端的網址(或者被控端的主機IP地址):端口號。如果被控端是Linux操作系統的話,這個端口號有點講究。端口的基本格式為5800+窗口編號。即如上圖所示,其為VNC啟用的窗口編號為1,則其最終的地址格式為mail.dfg.cn:5801。通過這個地址就可以連接到Linux操作系統的VNC服務器。此時這個瀏覽器就好像是VNC客戶端,可以遠程操控Linux操作系統。其實也可以在微軟操作系統上安裝并啟用VNC服務器。不過此時如果通過瀏覽器來遠程控制微軟VNC服務器時,這個地址中的窗口編號跟Linux操作系統中的不同。此時這個端口號就是5800,不用再加上窗口編號了,因為微軟操作系統沒有窗口編號一說。
【編輯推薦】