第十八章 VNC远程连接

第十八章 VNC远程连接

18.1 VNC简介

我们知道在数据中心机房中,服务器一般是锁在机柜中的,服务器只有在刚买来第一次配置或安装系统时,才会连接显示器、键盘、鼠标等外设,初次配置完毕后,就会把这些外设都拔除,与外界通信只保留网络连接。所以,运维人员只可以通过远程登录服务连接管理服务器。

之前章节中我们介绍过ssh服务实现远程登录,但是ssh只支持字符界面的登录,如果我们想实现GUI图形界面的远程呢?那就需要使用VNC服务了。

所以VNC服务就是实现Linux中图形界面远程登录的。

18.2 VNC服务配置

关于VNS服务,我们这里使用三台虚拟机:一台Linux服务器,工作于GUI界面,ip地址192.168.10.10;一台Linux客户机,工作于GUI界面,ip地址192.168.10.11;一台windows客户机,IP地址192.168.10.12。

然后我们来配置VNC服务器。

12.1 VNC服务器配置

首先安装VNC服务端软件包:

yum -y install tigervnc-server

安装完毕,我们会在系统的服务文件位置看到vncserver@.service文件,如下图:

然后我们复制这个文件为配置文件,并配置它:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

这里把配置文件名中加:1,是加的vnc的连接编号参数,客户端登录时也要指定这个参数来对应连接,同时这个参数也决定了服务器开启的服务端口号。VNC服务使用的端口号是5900系列的,也就是说,真正的服务端口是采用基数5900+参数的形式得到的,所以我们定义的:1号连接,它的服务器端口就是5901了。

vi /etc/systemd/system/vncserver@:1.service ---编辑服务配置文件

改里面的两行信息为:

User=root ---本连接以root用户身份登录

PIDFile=/root/.vnc/%H%i.pid ---指定VNC连接相关进程文件存在root家目下

tips:若要允许其他用户访问,如:zhang,则需指定用户名及家目录为zhang用户的相关信息,如下:

User=zhang ---本连接允许使用root登录

PIDFile=/home/zhang/.vnc/%H%i.pid

配置完毕后,重新加载一下systemd进程:

systemctl daemon-reload

为了安全,我们不会把用户的密码告知客户,所以需要设置vnc的连接密码,命令如下:

vncpasswd ---设置连接密码

注:设置密码的命令必须使用在vncserver@:1.service配置文件中授权的用户登录系统下运行。否则将不被授权。如:vncserver@:1.service中设置允许客户端以root身份连接VNC,则需要以root用户登录到系统后,运行vncpasswd命令;若vncserver@:1.service中设置允许客户端以用户zhang的身份连接VNC,则需要su到用户zhang的登录界面下,再运行vncpasswd命令。

另外,vncpasswd命令会要求设置两个密码,第一次设置的是允许连接后做操作的密码,第二次设置的是连接后只能查到桌面,但不能做操作的密码。

tips:设置两个密码的目的是,当有两个客户机同时连接到同一个VNC连接时,其实打开的是同一个shell,即同一个操作界面,若都使用的是允许操作的密码登录的,则两个人都可以做操作,就会出现操作冲突、争抢的现象。所以我们可以让一个用户使用允许操作密码登录,另一个用户使用仅查看的密码登录,则一方可动,另一方只能看了,并且完全可见到对方的操作过程,相当于现场教学了。

然后我们来启动VNC服务:

systemctl restart vncserver@:1.service

systemctl enable vncserver@:1.service

然后我们查看一下端口是否已被监听:

lsof -i:5901

这样VNC服务器就配置完毕了。

PS:当然我们也可以在复制出:2号、:3号等多个连接配置文件。

18.2.2 VNC的Linux客户机配置

关于Linux的客户机,配置就更为简单了,配置好ip后,关闭防火墙,然后安装VNC客户端软件包:

yum -y install tigervnc

安装完毕后,就可以访问了,使用的命令是vncview,具体如下:

vncviewer 192.168.10.10:1 ---连接VNC服务器:1号服务

回车后,会弹窗要求输入密码,之前服务器上我们设置过两个密码,所以若输入允许操作的密码登录后就可以鼠标操作了;如果输入仅查看的密码,登录后就只能看不能动了。

另外,我们也可以在客户机上打开两个终端界面,分别使用vncviewer登录到服务器上,一个允许操作,一个不允许操作,那么就会打开两个服务器的窗口,一个做操作,另一个是可以看到操作过程的。

18.2.3 VNC的windows客户机配置

其实在实际生产环境中,我们更多的是使用个人PC的windows系统,远程登录到VNC服务器的。但是windows本身是不支持连接VNC的,所以需要在windows上安装一款VNC客户端软件:vncviewer,安装完毕后打开链接项,输入服务器地址和编号就可以了:

18.3 小结

到此为止,我们的VNC服务就介绍完了。其实在实际的生产环境中,VNC的使用率并不高,而且CentOS7.4的VNC连接后并不是我们想象中的会把整个桌面都显示出来,其实只是桌面的主体部分(CentOS7.2、7.0等系统连接后显示的界面是全桌面化的),要做操作还是需要打开终端才可以。再者,我们都知道Linux系统的主要配置方式还是命令,所以,我们还是应该以熟悉ssh访问为主,VNC服务可以当做非重点知识了解即可。

原文发布于微信公众号 - 教主小筑(gh_e0879483602d)

原文发表时间:2019-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券