• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            流量統計:
            Rixu Blog (日需博客)
            日需博客,每日必需來踩踩哦..
            posts - 108,comments - 54,trackbacks - 0

            在開源領域,遠程遙控技術的代表就是VNC了。VNC(Virtual Network Computer,虛擬網絡計算機)是一套由AT&T實驗室開發的可操控遠程計算機的軟件。根據主控端與被控端的不同,VNC軟件可以分為兩個部分,分別為VNC Server與VNC viewer。前者是安裝在被控制端上,而后者被安裝在主控端上。VNC軟件不僅是開源的,而且是跨平臺的。有不少系統管理員喜歡在Windows平臺上使用這個VNC來作為遠程管理Linux服務器或者客戶端的工具。(更多細節請參見:http://os.51cto.com/art/201102/244861.htm

            整個VNC運行的工作流程如下:

            (1)VNC客戶端通過瀏覽器或VNC Viewer連接至VNC Server。

            (2)VNC Server傳送一對話窗口至客戶端,要求輸入連接密碼,以及存取的VNC Server顯示裝置。

            (3)在客戶端輸入聯機密碼后,VNC Server驗證客戶端是否具有存取權限。

            (4)若是客戶端通過VNC Server的驗證,客戶端即要求VNC Server顯示桌面環境。

            (5)VNC Server通過X Protocol 要求X Server將畫面顯示控制權交由VNC Server負責。

            (6)VNC Server將來由 X Server的桌面環境利用VNC通信協議送至客戶端,并且允許客戶端控制VNC Server的桌面環境及輸入裝置。

            本文介紹如何使用VNC進行Linux服務器的遠程管理,并著重標注了過程中需要注意的安全事項。

            1、啟動VNC服務器

            利用VNC軟件實現遠程控制的基本原理是主控端利用VNC客戶端發起連接請求,被控端同意后即可建立遠程控制。此時主控端就可以遠程操控被控端。為此要利用VNC軟件來遠程操控Linux操作系統的話,必須先在Linux操作系統上啟動VNC服務器軟件。否則的話,是無法建立VNC連接的。不過在大部分的Linux操作系統中,如紅帽子的Linux系統,一般默認都會安裝有VNC服務器的。不過其出于安全的考慮,一般都是關閉的。如果系統管理員要想利用VNC來實現遠程操控的話,就需要在Linux操作系統上啟動VNC服務器。

            在Linux操作系統的命令行下,系統管理員可以輸入vncserver命令來啟動VNC服務器。在啟動的過程中為了安全起見,操作系統會提示系統管理員輸入VNC連接的密碼。系統管理員最好能夠在這里輸入比較復雜的密碼,如英文字符與數字結合的密碼,以增加供給者破譯的難度。由于建立VNC連接后,主控端可以像操作自己的電腦那樣來操作被控端。所以這個密碼將是將是保障其安全的最后屏障。啟動成功后如圖1所示:

            啟動VNC Server示意圖
            圖1  啟動VNC Server示意圖

            密碼配置完成后,Linux操作系統最后還會提示VNC連接的地址。如上面所示,最后系統管理員可以使用localhost.localdomain來遠程操控Linux操作系統。以后在VNC客戶端上只要輸入這個網絡地址,就可以連接到VNC服務器上。如果后續需要更改VNC的連接密碼,需要使用vncpasswd來進行更改。注意不是passwd。這跟更改用戶密碼的命令不同。一般情況下,只要正常顯示了其網絡地址,那么這個VNC服務就是正常啟動了。

            另外為了安全起見,中斷VNC服務器之后,最好在服務器上能夠及時關閉VNC應用服務器。關閉的命令如上,只需要運行如下命令即可:

            #vncserver –kill :1

            其中最后的1表示之前啟動的窗口編號。系統管理員應該養成一個習慣,即當某個服務啟動后,要及時關閉它。多啟動一個服務,就多個黑客一個攻擊的機會。特別是將操作系統當作服務器來使用的時候,這個習慣能夠在很大程度上提高服務器系統的安全性。一般來說,Linux操作系統默認不啟動的服務,系統管理員在啟動他們之后,最后都要及時關閉。

            不過如果是企業內部,企業的布局比較大,如從系統管理員的辦公室到Linux操作系統客戶端那邊需要走半個小時,此時為了管理的方便,如果對方操作系統只是用來做普通的客戶端的話,那么就可以讓Linux操作系統在啟動時自動啟動VNC服務器。由于客戶端的安全性要求不怎么嚴格,所以在管理便利上方面可以做出一定程度的妥協。但是如果操作系統是作為服務器的話,那么開機自動啟動VNC服務器類似的操作,系統管理員需要謹慎。

            如果系統管理員確定需要開機時自動啟動VNC服務器,則可以通過ntsysv服務來定義。即只需要在命令行狀態下,輸入命令ntsysv,然后選中vncserver條目(按空格選擇),即設置了開機即啟動VNC服務器。然后需要修改/etc/sysconfig/vncservers配置文件。找到這個文件中的VNCSERVER=”1:root”這個條目。默認情況下操作系統是將這一行注釋掉的。系統管理員只需要將前面的注釋符號去掉即可。如此設置后,當操作系統在下次啟動后就會自動啟用VNC服務器。

            2、使用VNC Viewer實現Linux遠程管理

            在配置好VNC Server后,可以使用VNC Viewer來實現Linux的遠程登錄和管理了。在Linux下面已經自帶了該客戶端程序,用戶可以打開[應用程序]菜單,在彈出的級聯菜單中選擇[VNC Viewer],如圖2所示:

            使用VNC Viewer
            圖2  使用VNC Viewer

            系統會彈出如圖3所示的VNC Server登錄對話框,用戶需要指定待登錄的服務器地址:

            輸入VNC Server地址
            圖3  輸入VNC Server地址

            輸入地址后,VNC Viewer連接上VNC Server,Server需要對VNC客戶端進行身份驗證,彈出如圖4所示的對話框,用戶輸入之前設置的密碼即可:

            輸入密碼
            圖4  輸入密碼

            待客戶端通過服務器端的驗證后,則會進入如圖5所示的遠程登錄界面,用戶就可以在圖形界面下簡單、方便地對遠程的Linux進行訪問和管理了。

            成功使用VNC Server
            圖5  成功使用VNC Server

            3、使用SSH+VNC實現安全的Linux遠程桌面管理

            VNC可以對數據進行壓縮,使得傳輸的數據量比直接用SSH加密的小,但是缺點有一到兩次機會讓同一網段的計算機用sniffer竊聽到用戶名和密碼。認證之后的數據可以進行加密傳輸,所以使用過程中如果經過配置,則是安全的,否則傳輸內容不能保證完全保密。必要時可以通過SSH進行加密端口映射來保證傳輸用戶名和密碼的時候也是加密的,這一操作占用的額外帶寬是極少的。

            至于SSH保護VNC的安全,需要使用SSH的端口轉發功能。一般在客戶端使用的是Linux的時候,可以先用SSH建立鏈接,語法上應當添加“-L 本地端口:本地地址:遠程端口 遠程地址”這一附加參數,比如說本地是X.Y.Z.W,服務器是A.B.C.D,要轉發的端口本地的是5901,遠程的也是5901,那么命令應當是:

            ssh -L 5901:X.Y.Z.W:5901 A.B.C.D

            其他的參數多數可以同時使用。執行完畢后就已經創建了服務器5901端口和本地5901端口的加密隧道。假設要鏈接的服務器上運行的VNC桌面號是2,則繼續執行如下命令:

            vncviewer A.B.C.D:2

            這樣打開的VNC窗口所有數據都經過了SSH的加密。

            由于一般管理情況下多采用SSH的Windows客戶端,所以下面介紹如何配置Windows下的SSH Secure Shell來配合VNC實現安全的Linux遠程桌面管理

            首先,在SSH Secure Shell的主界面上選擇Settings下的Tunneling,如圖6所示。

            為SSH Secure Shell設定Tunneling
            圖6  為SSH Secure Shell設定Tunneling

            然后,選擇添加一個配置,如圖7所示,其中Listen是本機端口,Destination是遠程地址和端口,Display可以設定自己的描述。

            Tunneling設定的具體選項
            圖7  Tunneling設定的具體選項

            最后,再運行vncviewer來鏈接即可。特別值得注意的是:此處Server的地址不是需要連接的VNC Server的地址,而是前面設定的本機的SSH偵聽端口的地址,因為所有通往VNC Server的流量都需要先經過本機的SSH進行轉發,如圖8所示,一般設定為localhost加端口即可,該端口就是在圖7中設定的SSH的偵聽端口。

            使用Windows中的VNC Viewer連接Linux端的VNC Server
            圖8  使用Windows中的VNC Viewer連接Linux端的VNC Server

            圖9清晰地給出了使用Wireshark對上述通信的流量進行抓包的結果,可以看到,從客戶端去往服務器端的VNC流量,均采用SSH協議進行了加密傳輸,因此針對傳統的未經過SSH加密處理的VNC通信來說要安全很多,能夠有效地避免竊聽和中間人攻擊:

            針對上述通信流程的抓包結果顯示
            圖9  針對上述通信流程的抓包結果顯示


            Logo
            作者:Gezidan
            出處:http://www.rixu.net    
            本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

            本文轉載自 http://patterson.blog.51cto.com/1060257/495576
            posted on 2011-10-08 09:11 日需博客 閱讀(1914) 評論(1)  編輯 收藏 引用 所屬分類: Linux技術文章轉載

            FeedBack:
            # re: VNC遠程管理Linux服務器安全指導
            2011-10-08 09:54 | Noble lace wigs
            這個必須的收藏,超實用,感謝  回復  更多評論
              
            麻豆AV一区二区三区久久| 99久久精品免费看国产| 国产三级观看久久| 国产精品天天影视久久综合网| 性做久久久久久久| 欧美精品丝袜久久久中文字幕| 国内精品伊人久久久久| 久久A级毛片免费观看| 国内精品人妻无码久久久影院| 日韩精品无码久久久久久| 亚洲午夜久久久久久噜噜噜| 亚洲精品白浆高清久久久久久| 国产69精品久久久久APP下载| 久久婷婷是五月综合色狠狠| 欧美亚洲国产精品久久高清| 久久久久久午夜精品| 狠狠色婷婷久久综合频道日韩 | 综合久久精品色| 久久香综合精品久久伊人| 久久99精品国产麻豆宅宅| 久久亚洲精品成人AV| 精品午夜久久福利大片| 久久精品国产亚洲精品| 三级三级久久三级久久| 久久婷婷国产综合精品| 99久久国产综合精品网成人影院| 99久久婷婷国产一区二区| 色婷婷久久综合中文久久一本| 日批日出水久久亚洲精品tv| 人人妻久久人人澡人人爽人人精品| 亚洲精品乱码久久久久久久久久久久 | 日本久久中文字幕| 久久天天躁夜夜躁狠狠躁2022| 久久久久99精品成人片试看| 777久久精品一区二区三区无码| 人妻少妇精品久久| 97热久久免费频精品99| 亚洲Av无码国产情品久久| 99999久久久久久亚洲| 久久久久波多野结衣高潮| 99久久国产综合精品五月天喷水 |