一、簡介
1、VNC介紹
VNC (Virtual Network Console)是虛擬網絡控制台的縮寫。它 是一款優秀的遠程控制工具軟件。VNC 是在基於 UNIX 和 Linux 操作系統的免費的開源軟件,遠程控制能力強大,高效實用,其性能可以和 Windows 和MAC中的任何遠程控制軟件媲美。
VNC基本上是由兩部分組成:一部分是客戶端的應用程序(vnc viewer);另外一部分是服務器端的應用程序(vnc server)。VNC的基本運行原理和一些Windows下的遠程控制軟件很相像。VNC的服務器端應用程序在UNIX和Linux操作系統中適應性很強,圖形界面十分友好。在任何安裝了客戶端的應用程序(vncviewer)的Linux平台的計算機都能十分方便地和安裝了服務器端的應用程序(vncserver)的計算機相互連接。
2、noVNC介紹
noVNC提供一種在網頁上通過html5的Canvas,訪問機器上vncserver提供的vnc服務,需要做tcp到websocket的轉化,才能在html5中顯示出來。網頁就是一個客戶端,類似win下面的vncviewer,只是此時填的不是裸露的vnc服務的ip+port,而是由noVNC提供的websockets的代理,在noVNC代理服務器上要配置每個vnc服務,noVNC提供一個標識,去反向代理所配置的vnc服務。
noVNC 被普遍用在各大雲計算、虛擬機控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。
二、准備工作
1、遠程目標主機:Windows Server 2008 r2(用vmare中虛擬機測試)
2、UltraVNC:http://www.uvnc.com/(Windows環境下的VNC Server,還有TightVNC、TigerVNC、RealVNC等,其中RealVNC不能通過noVNC)
3、Node.js:https://nodejs.org/en/download/(用於執行Websockify.js)
4、noVNC:http://github.com/kanaka/noVNC/zipball/master
5、Websockify:https://github.com/novnc/websockify/archive/master.zip
三、具體操作
0、目標主機Windows Server 2008 r2先要安裝遠程桌面服務
1、在遠程主機中安裝UltraVNC,並開啟服務,設置密碼
2、安裝node.js
安裝時選擇npm package manager
node.js安裝完成后,需要安裝ws、optimist模塊(執行websockify.js文件所需)
C:\Users\Administrator>npm install ws
C:\Users\Administrator>npm install optimist
C:\Users\Administrator>npm install mime-types
安裝完ws和optimist后會在C:\Users\Administrator\下生成node_modules目錄
3、把noVNC.zip解壓到node_modules目錄下,再把websockify-master.zip解壓到noVNC目錄下。
注:Windows Server 2008 r2需要設置防火牆端口例外
新建入站規則
4、執行websockify.js:轉發9000端口的http鏈接到5900端口(UltraVNC Server的默認端口為5900)
C:\Users\Administrator\node_modules\noVNC\websockify-master\other\js>node websockify.js --web C:\Users\Administrator\node_modules\noVNC 9000 http://10.70.117.185:5900
(注:其中10.70.117.185為目標主機地址)
5、在瀏覽器地址欄輸入http://10.70.117.185:9000/(服務器端IP:10.70.117.185)會提示:
這時候只要在websockify.js中搜索filename += '/index.html'改成filename += '/vnc.html',再重復第4、5步即可完成。
輸入密碼,成功登錄Windows遠程桌面
轉自:https://www.cnblogs.com/binaway/p/9772673.html