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

实验环境

  1. VMware Workstations
  2. 带桌面的CentOS7虚拟机
  3. 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

测试连接

在浏览器访问(注意替换成自己的IP地址) http://192.168.204.10:6080/vnc.html

输入密码,连接成功!



当有请求访问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

本文链接:https://www.cnblogs.com/connect/p/linux-novnc.html

CentOS安装noVNC,以Web方式交付VNC远程连接的更多相关文章

  1. noVNC连接CentOS,以Web方式交付VNC远程连接

    什么是noVNC? noVNC 是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算.虚拟机控 ...

  2. (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)

    在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机 前提:服务器端安装桌面版的centos系统 CentOS Linux release 7.5.1804 (Core) ...

  3. 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)

    最近几天,到一个项目上安装Linux部署环境.由于服务器在机房,而进机房又比较麻烦,于是选择VNC远程连接Linux就显得自然而然了.以前也用过VNC,而且还经常使用,由于各个项目环境不太一样,这次也 ...

  4. 阿里云ECS使用vnc远程连接(Ubuntu + CentOS)

    阿里云ECS使用vnc远程连接https://blog.csdn.net/m0_37264397/article/details/78271896 在Linux实例上自动安装并运行VNC Server ...

  5. 通过VNC远程连接Linux实例

    无法使用Workbench和远程连接软件(例如PuTTY.Xshell.SecureCRT等)连接Linux实例时,您可以通过控制台的VNC远程连接实例,查看云服务器操作界面的实时状态. 前提条件 已 ...

  6. centOS 7设置静态IP,使用Xshell远程连接

    背景 在正式生产环境中,通常需要使用Xshell等终端软件,通过固定IP地址远程连接生产服务器进行管理,所以需要给生产服务器分配一个静态的IP地址,以方便本地计算机远程连接. 目的 本文目的在于模仿生 ...

  7. [运维] 如何在云服务器上安装 MySQL 数据库, 并使用 Navicat 实现远程连接管理

    .•●•✿.。.:*.•●•✿.。.:*.•●•✿.。.:*.•●•✿.。.:*.•●•✿.。.:*.•●•✿.。.:*.•.•●•✿.。.:*.•●•✿.。.:*.•●•✿.。.:*.•●•✿.。. ...

  8. 使用VNC远程连接Windows Azure Linux虚拟机

    本文以Oracle Linux 6.4虚拟机为示例 一. 安装 tigervnc-server 使用“rpm -qa vnc”指令查看是否安装vnc服务,如果没有安装,则可以使用yum或者rpm进行安 ...

  9. mongo在centos与windows上部署与配置,及远程连接mongo与数据用户和角色分配

    1.下载mongodb社区版: windows 安装包安装: https://www.mongodb.com/download-center#community(mongo下载中心) 配置环境变量 控 ...

随机推荐

  1. windows端ndk 编译.c/cpp文件生成so库示例

  2. 06-OpenLDAP密码策略

    阅读视图 openldap密码策略 OpenLDAP服务端定制密码策略 客户端策划策略实例 定义用户第一次登录就修改密码 问题排查手册 重点推荐官方文档 备注:本文依然承接系列文. 1. openld ...

  3. JAVA开发学习

    一.安装JAVA开发工具IDEA,下载Ultimate旗舰版版本,Community社区版不支持Java EE开发...... 下载地址:https://www.jetbrains.com/idea/ ...

  4. 【待完成】[MapReduce_9] MapReduce 的 Shuffle 机制

    0. 说明 待补充...

  5. oracle经验记录

    1.添加新User时必须要增加的角色权限:connect.dba.resource 2.添加表空间的语句 create tablespace DEMOSPACE datafile 'D:/test.d ...

  6. arcgis js api前端完成面积测算

    想找一个不依赖GeometryService量算面积的方法,经过别人的帮助,终于在js帮助页上找到了.就是esri/geometry/geodesicUtils中的geodesicAreas方法,该方 ...

  7. Python字符串操作之字符串分割与组合

    12.字符串的分割和组合 12.1 str.split():字符串分割函数 通过指定分隔符对字符串进行切片,并返回分割后的字符串列表. 语法: str.split(s, num)[n] 参数说明: s ...

  8. dispatchTouchEvent

    View /**  * Pass the touch screen motion event down to the target view, or this  * view if it is the ...

  9. wfi彩灯

    1 单纯控制颜色 接线 Arduino Uno         共阳三色雾状LED灯 Pin 9          <---------->      红 Pin 10        &l ...

  10. Oracle数据文件改名

    1. open状态改名   SYS@userdata>select tablespace_name,file#,file_name,v.status,v.enabled from dba_dat ...