中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現NoVNC以Web方式交付VNC遠程連接

發布時間:2021-09-29 17:28:14 來源:億速云 閱讀:297 作者:iii 欄目:開發技術

這篇文章主要介紹“如何實現NoVNC以Web方式交付VNC遠程連接”,在日常操作中,相信很多人在如何實現NoVNC以Web方式交付VNC遠程連接問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何實現NoVNC以Web方式交付VNC遠程連接”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、noVNC是什么

noVNC是一個 HTML5 VNC 客戶端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 實現,noVNC 被普遍用在各大云計算、虛擬機控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。
noVNC采用WebSockets實現,但是目前大多數VNC服務器都不支持 WebSockets,所以noVNC是不能直接連接 VNC 服務器的,需要一個代理來做WebSockets和TCP sockets 之間的轉換。這個代理在noVNC的目錄里,叫做websockify 。

**目標:**通過瀏覽器遠程訪問Windows桌面。

**原理:**瀏覽器不支持VNC,所以不能直接連接VNC,但是可以使用代理,使用noVNC通過WebSocket建立連接,而VNC Server不支持WebSocket,所以需要開啟Websockify代理來做WebSocket和TCP Socket之間的轉換。

二、CentOS 7 安裝novnc

1. 環境

[root@novnc ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@novnc ~]# ifconfig eth0|awk 'NR==2{print $2}'
10.0.0.60
setenforce 0
systemctl stop firewalld
systemctl disable firewalld

2. 安裝配置

安裝桌面環境

如何在CentOS7上安裝桌面環境

如何實現NoVNC以Web方式交付VNC遠程連接

安裝tigervnc

#安裝依賴軟件包
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y git tigervnc-server -y

啟動VNC服務并輸入密碼

[root@novnc ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? y
Password:
Verify:

New 'novnc:1 (root)' desktop is novnc:1

Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/novnc:1.log

#當執行vncserver :1設置為1時,下面要運行VNC是的端口號應該是5900+1,那就是5901,VNC的默認端口是5900。

#寫入開機自啟動
chmod +x /etc/rc.d/rc.local
echo '/usr/bin/vncserver :1' >>/etc/rc.d/rc.local

查看日志

cat /root/.vnc/novnc:1.log

查看端口

[root@novnc utils]# netstat -lntup|grep 59
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      8380/Xvnc           
tcp6       0      0 :::5901                 :::*                    LISTEN      8380/Xvnc

安裝noVNC

git clone https://github.com/novnc/noVNC.git

創建安全連接(一路回車)

VNC的默認會話不是安全的,我們需要創建一個安全的VNC連接,會發現提示需要輸入內容,這些字段我們并不需要都進行填寫,當啟動noVNC時,websockify將自動裝載證書。

#要將生成的self.pem文件放到noVNC/utils底下
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

如何實現NoVNC以Web方式交付VNC遠程連接

運行noVNC

[root@novnc noVNC]# pwd
/root/noVNC
[root@novnc noVNC]# ./utils/launch.sh --vnc localhost:5901

如何實現NoVNC以Web方式交付VNC遠程連接

測試進行訪問連接

http://ip:6080/vnc.html

如何實現NoVNC以Web方式交付VNC遠程連接

設置開機自啟動

echo './root/noVNC/utils/launch.sh --vnc localhost:5901 &' >>/etc/rc.d/rc.local

安裝numpy,解決連接速度慢:

https://sourceforge.net/projects/numpy/files/

#安裝python依賴
yum install python-dev python-devel -y
#上傳壓縮包解壓
unzip numpy-1.11.2.zip
cd numpy-1.11.2/
python setup.py install

3. 一鍵安裝腳本

[root@novnc scripts]# cat novnc_install.sh 
#!/bin/bash
##############################################################
# File Name: novnc_install.sh
# Version: V1.0
# Author: lcx
# Organization: www.in365robot.com
##############################################################
# 環境優化
setenforce 0
systemctl stop firewalld
systemctl disable firewalld

# install vncserver && git
yum install -y epel*
yum install tigervnc-server git -y

#啟動VNC服務并輸入密碼
echo '請輸入密碼:'
vncserver :1

# download noVNC
git clone git://github.com/kanaka/noVNC
# 創建安全連接
cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
# run noVNC
cd ../
./utils/launch.sh --vnc localhost:5901 &
echo '請訪問 http://ip:6080/vnc.html '
# 自啟動
chmod +x /etc/rc.d/rc.local
echo '/usr/bin/vncserver :1' >>/etc/rc.d/rc.local
echo './root/noVNC/utils/launch.sh --vnc localhost:5901 &' >>/etc/rc.d/rc.local
[root@novnc scripts]# chmod +x /server/scripts/novnc_install.sh 
[root@novnc scripts]# ll /server/scripts/novnc_install.sh 
-rwxr-xr-x. 1 root root 903 Dec 24 18:25 /server/scripts/novnc_install.sh

三、Windows 安裝novnc

實現目標:通過瀏覽器遠程訪問Windows桌面

準備一臺Windows7 32位的虛擬機

如何實現NoVNC以Web方式交付VNC遠程連接

1. 環境

UtralVNC:

Windows環境下的VNC Server,在你需要訪問的目標機器上安裝。

此處提示:生產需求為Windows7 32位,在下載UtralVNC軟件時請下載之前的較舊版本,最新版會不兼容。

Node.js:

用于執行Websockify.js。Websockify還有Python版本的,不過在Windows下不可以成功。

noVNC

noVNC是一個HTML5 VNC客戶端

websockify-js

noVNC是通過websockt建立鏈接,而VNC server不支持websocket,所以需要開啟websockify代理來做 WebSockets 和 TCP sockets 之間的轉換。

如何實現NoVNC以Web方式交付VNC遠程連接



2. 安裝utralNVC server

將UltraVNC軟件復制到需要遠程協助的電腦上雙擊打開安裝。

如何實現NoVNC以Web方式交付VNC遠程連接

在【Select Components】界面按需要選擇上需要的組件,這里將【UltraVNC Server】和【UltraVNC Viewer】選擇上。當需要遠程協助時安裝的電腦必須選擇上【UltraVNC Server】,【UltraVNC Viewer】是用來遠程協助的工具。點擊【next】進行下一步安裝。

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

安裝完成后桌面就會有快捷方式,天藍色的是服務的快捷方式,淺綠色是遠程連接的工具。同時系統托盤上會有一個天藍色的眼睛圖標的程序,這個就是vnc server。

如何實現NoVNC以Web方式交付VNC遠程連接

右鍵小眼睛圖標打開菜單,點擊【Start Service】并重啟電腦。

如何實現NoVNC以Web方式交付VNC遠程連接

點擊【Admin Properties】打開配置連接的密碼,連接的密碼分為可操作的密碼跟只看的密碼。

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

3. 安裝Node.js

如何實現NoVNC以Web方式交付VNC遠程連接

選擇npm package manager

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

node.js安裝完成后,需要安裝ws、optimist模塊(執行websockify.js文件所需)

npm install ws

如何實現NoVNC以Web方式交付VNC遠程連接

npm install optimist

如何實現NoVNC以Web方式交付VNC遠程連接

npm install mime-types

如何實現NoVNC以Web方式交付VNC遠程連接

安裝完ws和optimist后會在C:\Users\Administrator\下生成node_modules目錄

如何實現NoVNC以Web方式交付VNC遠程連接

4. 安裝noVNC和websockify

把noVNC.zip解壓到node_modules目錄下,再把websockify-master.zip解壓到noVNC目錄下。

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

5. 執行websockify.js

轉發9000端口的http鏈接到5900端口(UltraVNC Server的默認端口為5900)

C:\Users\root\node_modules\noVNC\websockify-js-master\websockify>node websockify.js --web C:\Users\root\node_modules\noVNC 9000 localhost:5900

如何實現NoVNC以Web方式交付VNC遠程連接

在瀏覽器訪問http://192.168.1.163:9000/會出現這樣的提示

如何實現NoVNC以Web方式交付VNC遠程連接

需要把websockify.js中的filename += ‘/index.html'改成filename += ‘/vnc.html';

如何實現NoVNC以Web方式交付VNC遠程連接

點擊鏈接輸入UltraVNC設置的密碼 完成。

如何實現NoVNC以Web方式交付VNC遠程連接
如何實現NoVNC以Web方式交付VNC遠程連接

6. 防火墻新建入站規則

如果被禁止訪問,需要允許訪問的9000端口進入

如何實現NoVNC以Web方式交付VNC遠程連接

7. Windows開機自啟動設置

windows自啟動bat腳本鏈接

#1. 桌面新建自啟動批處理文件start.bat
@echo off
start "cmd" "cd C:\Users\root\node_modules\noVNC\websockify-js-master\websockify\" & node websockify.js --web C:\Users\root\node_modules\noVNC 9000 localhost:5900"

打開運行,輸入shell:startup 回車。將start.bat啟動文件放入文件夾

如何實現NoVNC以Web方式交付VNC遠程連接

四、通過open微皮恩訪問noVNC

在open微皮恩服務端通過執行一鍵生成腳本生成客戶端證書novnc01

#查看內網IP信息
[root@open微皮恩-novnc ~]# ifconfig eth0|awk 'NR==2{print $2}'
172.17.43.166
#查看公網IP信息
[root@open微皮恩-novnc ~]# curl ifconfig.me
182.92.226.114

[root@open微皮恩-novnc ~]#git clone  https://github.com/Nyr/open微皮恩-install.git

[root@open微皮恩-novnc ~]# ls open微皮恩-install/
LICENSE.txt  open微皮恩-install.sh  README.md

[root@open微皮恩-novnc open微皮恩-install]# cd open微皮恩-install/ && bash open微皮恩-install.sh 

#安裝步驟請看之前文檔,一鍵生成客戶端證書
[10:54 root@openvpn-novnc ~/openvpn-install]# bash openvpn-install.sh 
Looks like OpenVPN is already installed.

What do you want to do?
   1) Add a new user
   2) Revoke an existing user
   3) Remove OpenVPN
   4) Exit
Select an option: 1

Tell me a name for the client certificate.
Client name: novnc

Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
Generating a 2048 bit RSA private key
...........................................................................................+++
...........+++
writing new private key to '/etc/openvpn/server/easy-rsa/pki/private/novnc.key.XHM8ERJnnn'
-----
Using configuration from ./safessl-easyrsa.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'novnc01'
Certificate is to be certified until Dec 27 02:56:23 2029 GMT (3650 days)

Write out database with 1 new entries
Data Base Updated

Client novnc01 added, configuration is available at: /root/novnc.ovpn

將生成的證書上傳到安裝有novnc的PC客戶端上

如何實現NoVNC以Web方式交付VNC遠程連接

下載windows7版的客戶端軟件openvpn-gui

https://www.techspot.com/downloads/5182-openvpn.html

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

進行連接

如何實現NoVNC以Web方式交付VNC遠程連接

在另一臺PC客戶端上也生成證書進行連接訪問

如何實現NoVNC以Web方式交付VNC遠程連接

如何實現NoVNC以Web方式交付VNC遠程連接

openvpn斷開連接,則novnc的連接也隨即斷開

到此,關于“如何實現NoVNC以Web方式交付VNC遠程連接”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朝阳市| 刚察县| 定陶县| 鄢陵县| 平泉县| 宁武县| 清水河县| 五峰| 双峰县| 清流县| 博湖县| 醴陵市| 如东县| 九台市| 桃园县| 吉首市| 滦平县| 寻乌县| 苍梧县| 延庆县| 濉溪县| 新蔡县| 马关县| 崇文区| 图片| 平和县| 阜阳市| 临邑县| 巨野县| 武宁县| 临湘市| 保德县| 绿春县| 泰顺县| 元朗区| 九寨沟县| 平度市| 潜山县| 申扎县| 双牌县| 阿勒泰市|