windows + novnc 實現遠程桌面

一、簡介

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遠程桌面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章