1. 程式人生 > >centos 安裝noVNC web交付方式遠端連線vnc

centos 安裝noVNC web交付方式遠端連線vnc

適配於 CentOS 6 的安裝指令碼

#!/bin/bash

# stop selinux and iptables
setenforce 0
service iptables stop

# install vncserver and git
yum install tigervnc-server git -y
vncserver :1
# 此時會提示輸入密碼

# download noVNC
git clone git://github.com/kanaka/noVNC

# create secure connection
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

# running

適配於 CentOS 7 的安裝指令碼

#!/bin/bash

# stop selinux and iptables
setenforce 0
systemctl stop firewalld
systemctl disable firewalld

# install vncserver and git
yum install -y epel*
yum install tigervnc-server git -y
vncserver :1
# 此時會提示輸入密碼

# download noVNC
git clone git://github.com/kanaka/noVNC

# create secure connection
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

# running

什麼是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 。

實驗環境

    VMware Workstations
    帶桌面的CentOS7虛擬機器
    Windows 10 宿主機 + Google Chrome瀏覽器

關閉防火牆

setenforce 0
systemctl stop firewalld
systemctl disable firewalld

安裝noVNC

安裝依賴軟體包

yum install -y epel*
yum install -y git
yum install -y tigervnc-server

執行以下命令並輸入密碼啟動服務

vncserver :1

安裝noVNC

git clone git://github.com/kanaka/noVNC

建立安全連線(一路回車下去...)

cd ./noVNC/utils/
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem

注: VNC的預設會話不是安全的,需要建立一個安全的VNC連線。建立完畢的證書 self.pem 需要放置到 noVNC/utils 目錄下,當啟動 noVNC 時,websockify將自動裝載證書。

執行noVNC

# 在noVNC目錄下,執行
./utils/launch.sh --vnc localhost:5901

測試連線