server端

(1)要安装所需的软件包,请以root身份运行以下命令:

# yum -y install tigervnc-server tigervnc


(2)创建vnc 用户,用户名称testuser1

# useradd testuser1

# passwd testuser1

$ su - testuser1

$ vncpasswd

$ exit


(3)要为用户创建VNC服务器配置文件,请复制原始VNC配置文件并为该用户进行编辑。

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


(4)编辑/etc/systemd/system/vncserver@:1.service文件编辑器文件,并用适当的vncuser用户名替换字符串“USER” 。在此示例中,用户将是“testuser1” 。

应该为每个用户创建一个单元文件。

     # cat /etc/systemd/system/vncserver@:1.service

    [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 testuser1 -c "/usr/bin/vncserver %i"

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

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


    [Install]

    WantedBy=multi-user.target

注意:

       如果用户是root用户,请更改路径PIDFile到/root/.vnc/%H%i.pid 。 

       要添加更多用户,请创建新用户“vncserver@:#.service”如上所述的文件并将“USER”字符串更改为其他用户。


(4)配置防火墙以接受VNC的传入连接。执行此命令可以在防火墙中打开与VNC相关的端口。

    # firewall-cmd --permanent --zone=public --add-port 5901/tcp

    此命令仅为传入连接打开TCP端口5901。在需要时,也可以使用相同的命令打开其他端口。

    重新加载防火墙以使防火墙规则生效

    # firewall-cmd  --reload


(5)重新加载配置:

    #  systemctl daemon-reload


(6)启用并启动vnc服务:

确保服务将在系统启动时启动:

# systemctl enable vncserver@:1.service   

要启动服务(如果尚未启动):

# systemctl start vncserver@:1.service 


也可以根据以下文档进行配置:

How to configure VNC Server in Red Hat Enterprise Linux 7 

https://access.redhat.com/solutions/966063


client端


通过SSH通过隧道安全地连接到VNC


(1)要安装所需的软件包,以root用户的身份执行以下命令

# yum install tigervnc


(2)远程连接

vncviewer -via testuser1@192.168.122.234 192.168.122.234:1   192.168.122.234是vncserver的IP地址,testuser1是vnc用户名称