RHEL7中tiger VNC的配置和使用

简介:

Tigervnc 是一个远程桌面共享和控制工具

tigervnc 是client-server的工作模式,默认是不加密的,可以使用ssh forwarding map来加密这个连接

在rhel7之前tigervnc的配置文件被放在/etc/sysconfig/ 文件夹中

在rhel7中其配置文件放在/etc/systemd/system/ 中

每个用户对应个配置文件,文件名如:vncserver-root (rhel7之前)  [email protected](rhel7)

vncserver 是一个能开启vnc桌面的工具,它会使用适当选线来运行Xvnc 并在vnc 桌面上运行一个window manager。

vncserver允许多个会话同时并行访问一台主机,允许多个用户从任何地方访问某台主机

服务端安装:

yum install tigervnc-server

客户端安装:

yum install tigervnc

配置:

示例配置文件是 /lib/systemd/system/[email protected] 内容如下:

[Unit]

Description=Remote desktop service (VNC)

After=syslog.target network.target

[Service]

Type=forking

# Clean any existing files in /tmp/.X11-unix environment

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i [-geometry size ]"            //<USER>可以使用具体的用户名替换掉,一旦这个服务开启这个用户就可以登录了,%i,代表的是window号码,这个号码是唯一,systemd会自动根据用户在启动该unit时指定的window号码来替换。  -geometry size: 指定桌面分辨率,如果不指定,则size默认为1024*768

PIDFile=/home/<USER>/.vnc/%H%i.pid                                                  //同上

ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]

WantedBy=multi-user.target

******可以为多个用户创建多个 unit file,然后给它们一个唯一名,并放到 /etc/systemd/system中,当某个用户需要使用远程桌面时,就启动对应的unit file。

文件配置完成后,需要重新整理systemd依赖关系,只要修改了unit file就要重新整理:

systemctl  daemon-reload

 修改vnc连接的密码:

su - username

vncpasswd 

密码必须设置否则无法登陆

启动:

systemctl start vncserver-username@:window_number.service

开机就启动某个window

systemctl enable vncserver-username@:window_number.service

客户端连接:

客户端程序vncviewer

输入vncserver地址和窗口号:vncserver:window_number

输入vnc-password

为 vnc 配置防火墙:

使用非加密的链接,默认会被firewalld blocked 掉,想要 vnc正常工作就需要让firewalld开放相应的端口才行。

vnc默认的端口号为5900,而每个vnc window的端口号是: 5900+window_number(or,display_number)

如:systemctl start vncserver-username@:2.service  那么这个vnc window的端口号就是 5902

设置:

firewall-cmd --list-all   //查看防火墙规则

firewall   --add-rich-rule='rule family="ipv4" source address="client_ip" service name=service_name accept'    //[--permanent] 指定是否永久生效, --zone指定将该rule放到哪个zone当中,这样从这个地址来的任何流量都可以通过!!

也可以只打开指定端口:

firewall-cmd --zone=public --add-port=590*/tcp

使用ssh连接:

vncviewer -viausername@vncserver  localhost:window_number   (使用 ssh forwarding)//localhost一定要加,否则无法连接

避免使用不安全的链接:

将unit file中的 ExecStart=/sbin/runuser -l user -c "/usr/bin/vncserver -localhost %i" 

-localhost 参数可以让vncserver不接受 除本机及ssh forwarding 以外的任何连接。


你可能感兴趣的:(RHEL,vnc,tiger,7)