第9章 TIGERVNC远程登陆配置

第9章 TIGERVNC远程登陆配置
白魁耀
白魁耀
统计、机器学习与保险大数据
2 人赞同了该文章
TIGERVNC是允许你远程控制图形桌面系统的工具。

TIGERVNC采用主-客网络:主机、服务端共享其输出(VNCSERVER),客户机(VNCVIEWER)连接到主机。

注意:FEDORA的TINGERVNC使用SYSTEMD管理配置信息。/etc/sysconfig/vncserver已被/etc/systemd/system/

vncserver@.service
代替。

9.1 VNC 服务端

VNCSERVER是启动VNC桌面的工具。VNCSERVER允许用户并行运行不同的会话,既不限制客户端数量,也不限制从哪里连接。

9.1.1 安装VNC服务

~]# dnf install tigervnc-server

9.1.2 配置VNC 服务

1.配置文件是/etc/systemd/system/

vncserver@.service
。可以通过复制 /lib/systemd/system/

vncserver@.service
来创建。

~]# cp /lib/systemd/system/

vncserver@.service
/etc/systemd/system/

vncserver@.service
没有必要在文件名中包括显示设备编号,SYSTEMD会自动建立正确的实例(把%i自动替换)。对单个用户来讲没有必要对文件改名。对多个用户来讲,每个用户都需要一个唯一的服务文件,这样就需要把用户名字加到文件名里了。

2.修改/etc/systemd/system/

vncserver@.service
文件,把USER改成实际用户的名字,其它地方不用改。-geometry参数会指定VNC桌面的大小,默认为1024*768。

ExecStart=/sbin/runuser -l USER -c “/usr/bin/vncserver %i -geometry 1280×1024″

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

3.保存更改。

4.为了使更改生效,应使用以下命令:

~]# systemctl daemon-reload

5.设定密码(先切换成对应的用户):

~]# su – USER

~]$ vncpasswd

Password:

Verify:

重要:密码没有加密,有权限查看密码文件的用户可以看到密码。

9.1.2.1 配置两用户的VNC

如果你想配置多个用户远程登陆,则需要为每个用户都创建一个文件。

1.创建2个服务文件,比如

vncserver-USER_1@.service

vncserver-USER_2@.service
,USER需要替换成实际的用户。

2.分别设定密码:

~]$ su – USER_1

~]$ vncpasswd

Password:

Verify:

~]$ su – USER_2

~]$ vncpasswd

Password:

Verify:

91.3 启动VNC服务端

启动或启用服务,需要在命令行直接指定显示设备号。这个指定的设备会被SYSTEMD自动替换配置文件中%i。然后执行以下命令:

~]# systemctl start vncserver@:display_number.service

系统开机默认运行的配置方法如下:

~]# systemctl enable vncserver@:display_number.service

这样其它用户就可以通过VNC VIEWER连接到VNC SERVER了。

9.1.3.1 两用户独立显示的VNC配置

可以通过配置不同的显示设备号来实现,比如前面的配置文件名中加入设置设备号3和5:

~]# systemctl start vncserver-USER_1@:3.service

~]# systemctl start vncserver-USER_2@:5.service

9.1.4 关闭VNC会话

取消开机自动启动:

~]# systemctl disable vncserver@:display_number.service

关闭会话:

~]# systemctl stop vncserver@:display_number.service

9.2 VNC VIEWER

VNC VIEWER是显示和控制远程桌面的工具。

可以通过vncviewer -h查看相关参数。

9.2.1 安装VNC VIEWER

~]# dnf install tigervnc

9.2.2 连接到VNC SERVER

vncviewer address:port_number

ADDRESS可以使用IP地址或主机名。

例子9.1 单个客户端连接到VNC SERVER

如果IP地址是192.168.0.4,显示号是3的话:

~]$ vncviewer 192.168.0.4:3

9.2.2.1为VNC配置防火墙

FIREWALLD有可能会阻止非加密的连接。可以修改FIREWALLD配置来允许传输VNC数据包。使用-via参数,相关传输将默认通过SSH重定向传输。

提示:VNC SEVER默认端口为5900。实际使用时要配置的端口为5900+显示设备号,比如5900+2=5902。

FIREWALLD支持显示设备号0-3,如果大于3的话,需要另外配置。

流程9.2 在FIREWALLD中启用VNC服务

1.查看FIREWALLD配置:

~]$ firewall-cmd –list-all

2.允许VNC连接:

~]# firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”192.168.122.116″

service name=vnc-server accept’

success

3.验证配置:

~]# firewall-cmd –list-all

public (default, active)

interfaces: bond0 bond0.192

sources:

services: dhcpv6-client ssh

ports:

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

rule family=”ipv4″ source address=”192.168.122.116″ service name=”vnc-server” accept

使用指定端口或指定端口的范围可以使用 firewall-cmd的–add-port选项。比如要用是示设备号4:

流程9.3 FIREWALLD中打开端口

1.在PBULIC ZONE中的TCP TRAFFIC启用指定端口:

~]# firewall-cmd –zone=public –add-port=5904/tcp

success

2.显示配置的端口

~]# firewall-cmd –zone=public –list-ports

5904/tcp

删除配置的端口时可以用:firewall-cmd –zone=zone –remove-port=number/

protocol

9.2.3 使用SSH连接VNC

~]$ vncviewer -via user@host:display_number

例子9.2 使用- via选项

1.用SSH连接VNC

~]$ vncviewer -via

USER_2@192.168.2.101
:3

2.提示的时候输入密码然后回车。

3.显示远程桌面。

限制NVC权限

如果你只用加密传输,你可关闭非加密传输,在service配置文件里修改如下:

ExecStart=/sbin/runuser -l user -c “/usr/bin/vncserver -localhost %i”

这样VNC SERVER对于非加密传输将只接受本机,不再允许远程方式。

9.3 其它信息