VNC(Virtual Network Computing,虚拟网络计算机)是一款由AT&T欧洲研究实验室开发的远程控制软件,允许用户在网络的任何地方使用简单的程序来和一个特定的计算机进行交互。

VNC基本属于一种显示系统,也就是说它能通过网络将完整的窗口界面传输到另一台计算机的屏幕上。Windows系统上的Terminal Sever和PCAnywhere都是属于这种原理的软件,同时这些软件又在VNC的原理基础上各自做了相应的改进,提高了易用性、连通率和可穿透内网的能力。

因为VNC是免费的,并且可以用于数量庞大的不同操作系统,它的简单、可靠和向后兼容性,使之进化成为最为广泛使用的远程控制软件,多平台的支持对于网络管理员来说是十分重要的,它使网络管理员可以使用一种工具管理几乎所有系统。

如今,原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现,比如RealVNC. VNC tight、TigerVNC 和UltraVNC等,它们具有全面的向后兼容性。

VNC软件主要由两个部分组成:服务端的VNC Server和客户端的VNC Viewer。用户需先将VNC Server安装在被远程操控的计算机上,这样才能在主控端执行VNC viewer进行远程操控。

VNC并非安全的协议,虽然VNC服务程序需要设置密码才可接受外来连接,且VNC客户端与VNC服务程序之间的密码传输经过加密,但其扔可被轻易地拦截到,并被非法用户通过暴力搜索法破解。不过VNC可设计为以SSH或VPN传输,以增加安全性。

1.下载并安装vnc-server

1.1 检查是否已经安装

默认情况下,VNC服务是没有被系统安装的,可以通过以下命令查看:

# rpm -qa | grep vnc

执行查询命令,如果没有内容说明还没有安装vnc服务,需要安装。

1.2 下载和安装

# yum install tigervnc tigervnc-server

。。。中间部分输出信息省略。。。

# rpm -qa | grep vnc

2.启动VNC服务器:

# vncserver

输入vncserver命令之后,首先会要求设置密码,这时候需要为服务器设立一个保护密码,这是非常重要的步骤。如果密码设置成功,那么结果信息中就会显示出这样一个信息:centos6:1。 这里的“1”表示当前用户分配的是VNC的第1个虚拟桌面。

3.查看进程

ps -ef | grep Xvnc

显示进程号为4506,使用的端口号为5901,虚拟桌面号码是1

4.查看端口号

使用以下命令查看端口号5901,5901是第一个虚拟桌面使用的端口号。

netstat -antu | grep 5901

5.Windows环境下的客户端远程连接

Windows系统下的VNC客户端软件有很多,这里下载安装VNC Viewer软件。该软件是一款优秀的远程控制工具软件,远程控制能力强大,高效使用。

VNC Viewer软件官方下载地址:https://www.realvnc.com/en/connect/download/viewer/

下载安装完后打开VNC Viewer,单击左上角的“File”—>“New connection”,在弹出的窗口中输入VNC服务器的IP地址和虚拟桌面号码(192.168.0.162:1)后单击【OK】按钮。

点击【continue】按钮。

输入VNC服务器的登录密码(用vncserver命令设置的),然后单击【OK】按钮即可连接到VNC服务器上。

OK,连接成功!

6.配置防火墙规则,允许VNC远程连接

VNC Server监听的端口从5900开始,display:1的监听 5901,display:2监听 5902,以此类推。CentOS 6.5的防火墙缺省是不允许连接这些端口的,需要配置防火墙开放相关端口(root 权限):

iptables -A INPUT -p tcp --dport 5901 -j ACCEPT    # 开放 "5901" 端口

iptables -A INPUT -p tcp --dport 5901 -j ACCEPT    # 开放 "5902" 端口

# service iptables restart    # 保存防火墙配置

# service iptables restart    # 重启防火墙

# vim /etc/sysconfig/iptables

7.启动服务(开启多个虚拟桌面)并设置开机自启动

7.1 启动方式一

让系统自动分配连接端口:

# vncserver     # 直接输入则会自动打开一个连接服务

New 'centos6:2 (root)' desktop is centos6:2     # 这里是“centos6:2”说明这是启动的第二个VNC服务,已经存在有“centos6:1”在这之前启动

7.2 启动方式二

指定端口启动,如果指定端口的VNC服务已经启动则会提示,如果还没有启动则会重新启动特定端口的VNC服务:

# vncserver :1   #指定端口1(即系统的5901端口)启动服务,注意“:1”之前有一个空格

# vncserver :2   #指定端口2(即系统的5902端口)启动服务

7.3 开机自启动(这一步有问题的,开机VNC服务是启动不了,只能手动输入vncserver命令启动)

设置开机自动启动服务:

# chkconfig vncserver on

查看设置是否设置成功:

# chkconfig --list | grep vnc

8.列出当前用户的VNC虚拟桌面

vncserver -list

第一个虚拟桌面使用的进程号为4506,第二个虚拟桌面使用的进程号为4713

9.vncserver的配置文件位置

# vim /etc/sysconfig/vncserver

10.设置或修改VNC的登录密码

配置当前用户的VNC登陆密码,连续输入两次即可。修改VNC的登录密码,也是和设置新密码一样的步骤。这个密码是VNC连接的独立密码,与系统密码没有关系。

# vncpasswd

Password:   # 设置或修改当前用户的VNC登录密码

Verify:     # 再次输入当前用户的VNC登录密码

11.关闭vncserver

执行kill命令:

# vncserver -kill :1   # 关闭号码为1的VNC虚拟桌面

# vncserver -kill :2   # 关闭号码为2的VNC虚拟桌面

注意:-kill与:1或:2中间有一空格

以上参考自网上博客:https://www.cnblogs.com/fefjay/p/6065750.html

CentOS6.5下搭建VNC服务器的更多相关文章

  1. Centos6.8下搭建SVN服务器

    1.Centos6.8下搭建SVN服务器 Subversion是一个自由,开源的版本控制系统.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一 ...

  2. centos6环境下搭建irc服务器

    问题描述 有时候逛技术社区,经常会发现有个叫IRC的东西存在,想搭建下看看到底是个什么东西 说明: 操作系统环境为CentOS6.5_64 安装irc服务器 通过yum进行安装,命令如下: yum i ...

  3. CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

    CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...

  4. Ubuntu 下搭建VNC服务器

    Ubuntu 18.04 搭建VNC服务器https://www.jianshu.com/p/f58fe5cdeb5f ubuntu16.04 vncserver配置https://blog.csdn ...

  5. [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器

    转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...

  6. CentOS6.5下搭建SVN服务器

    1.检查是否已安装 rpm -qa | grep subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:y ...

  7. centos6.2下搭建Web服务器

    1.安装Apache2 yum install httpd 2.启动 方法一:service httpd start 方法二:/etc/init.d/httpd start //浏览http://ip ...

  8. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  9. CentOS 6.3下搭建Web服务器

    准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disable ...

随机推荐

  1. Java日志 #01# 入门

    很多人在学习完一个东西之后就会忘掉自己作为初学者时的体验.. 例如刚接触git的时候自己也是一头雾水,然后别人问起来,老是会说:xxxx#!@#,就是这么回事儿,有什么不好懂的. 其实从不懂到懂,再到 ...

  2. selenium使用location定位元素坐标偏差

    python+selenium+Chromedriver使用location定位元素坐标偏差使用xpath定位元素,用.location获取坐标值,截取网页截图的一部分出现偏差. 之所以会出现这个坐标 ...

  3. django ORM模型表的一对多、多对多关系、万能双下划线查询

    一.外键使用 在 MySQL 中,如果使用InnoDB引擎,则支持外键约束.(另一种常用的MyIsam引擎不支持外键) 定义外键的语法为fieldname=models.ForeignKey(to_c ...

  4. wait与sleep的区别

    1.这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还 ...

  5. protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 2, class-id=60, method-id=80)

    Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.c ...

  6. C#.Net环境下的缓存技术

    转载:https://www.cnblogs.com/lvjy-net/p/8297679.html 一.缓存技术本节将介绍以下技术: 使用Asp.Net缓存: 使用Remoting Singleto ...

  7. eclipse中的ctrl+H使用中的问题

    一.问题背景 ctrl+H其实包含好几个search如果是FileSearch,在第一个输入框是要搜索的文字,第二个是文件名(支持通配符:*.js或者*.*),下面是选择搜索的范围,然后点seach. ...

  8. Java字节码浅析(—)

    英文原文链接,译文链接,原文作者:James Bloom,译者:有孚 明白Java代码是如何编译成字节码并在JVM上运行的非常重要,这有助于理解程序运行的时候究竟发生了些什么.理解这点不仅能搞清语言特 ...

  9. php 操作 mysql 数据库常用方法集合

    参考: https://www.runoob.com/php/php-pdo.html https://www.cnblogs.com/feng18/p/6523646.html https://bl ...

  10. Linux使用——Linux命令——CentOS7防火墙使用

    注意:设置防火墙需要使用具有root权限的用户进入: CentOS 7.0默认使用的是firewall作为防火墙: CentOS 7.0使用systemctl来管理服务和程序,包括了service和c ...