13.3. VNC Viewer


vncviewer 是一个显示图形用户界面并远程控制 vncserver 的程序。

对于运行 vncviewer,有一个弹出菜单,其中包含执行各种操作(例如切换至全屏模式或退出全屏模式)或退出查看器的条目。或者,您可以通过终端操作 vncviewer。在命令行中输入 vncviewer -h 以列出 vncviewer 的参数.

13.3.1. 安装 VNC Viewer

要安装 TigerVNC 客户端 vncviewer,以 root 用户身份运行以下命令:

~]# yum install tigervnc

13.3.2. 连接到 VNC 服务器

配置了 VNC 服务器后,您可以从任何 VNC viewer 连接到它。

使用 GUI 连接到 VNC 服务器

  1. 输入不带参数的 vncviewer 命令,显示 VNC Viewer: Connection Details 实用程序。它将提示 VNC 服务器连接到。
  2. 如果需要,要防止断开任何现有 VNC 连接到同一显示,请选择允许共享桌面的选项,如下所示:

    1. 选择"选项"按钮
    2. 选择 Misc. 选项卡。
    3. 选择 共享 按钮。
    4. 按确定返回主菜单
  3. 输入要连接的地址和显示号:

    address:display_number
  4. 按"连接 "以连接至 VNC 服务器显示。
  5. 系统将提示您输入 VNC 密码。这将是与显示号对应的用户的 VNC 密码,除非设置了全局默认 VNC 密码。

    此时将显示显示 VNC 服务器桌面的窗口。请注意,这不是普通用户看到的桌面,而是 Xvnc 桌面。

使用 CLI 连接到 VNC 服务器

  1. 输入带有地址并显示为参数的 viewer 命令:

    vncviewer address:display_number

    其中 addressIP 地址或主机名。

  2. 通过输入 VNC 密码进行身份验证。这将是与显示号对应的用户的 VNC 密码,除非设置了全局默认 VNC 密码。
  3. 此时将显示显示 VNC 服务器桌面的窗口。请注意,这不是普通用户看到的桌面,而是 Xvnc 桌面。

13.3.2.1. 为 VNC 配置防火墙

使用非加密连接时,firewalld 可能会阻止连接。要允许 firewalld 传递 VNC 数据包,您可以打开 TCP 流量的特定端口。使用 -via 选项时,流量将通过 SSH 重定向,这在 firewalld 中默认启用。

注意

VNC 服务器的默认端口为 5900。要访问远程桌面的端口,请概述默认端口和用户分配的显示号。例如,第二个显示:2 + 5900 = 5902。

对于显示 03,请使用 service 选项使用 firewalld 对 VNC 服务的支持,如下所述。请注意,对于大于 3 的显示号,必须打开对应的端口,具体如 在 firewalld 中打开端口 中所述。

在 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

    请注意,在系统下次启动后这些更改不会保留。要永久更改防火墙,请重复添加 --permanent 选项的命令。有关使用防火墙富语言命令的更多信息,请参阅红帽企业 Linux 7 安全指南

  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 选项。例如,VNC 显示 4 要求为 TCP 流量打开端口 5904

在 firewalld 中打开端口

  1. 要在公共区中为 TCP 流量打开端口,以 root 身份发出命令,如下所示:

    ~]# 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 命令删除 端口。

请注意,在系统下次启动后这些更改不会保留。要永久更改防火墙,请重复添加 --permanent 选项的命令。有关在 firewalld 中打开和关闭端口的更多信息,请参阅 Red Hat Enterprise Linux 7 安全指南

13.3.3. 使用 SSH 连接到 VNC 服务器

VNC 是明文网络协议,对通信中可能出现的攻击没有安全性。为确保通信安全,您可以使用 -via 选项加密您的 server-client 连接。这将在 VNC 服务器和客户端之间创建一个 SSH 隧道。

加密 VNC server-client 连接的命令格式如下:

vncviewer -via user@host:display_number

例 13.1. 使用 -via 选项

  1. 要使用 SSH 连接到 VNC 服务器,请输入以下命令:

    ~]$ vncviewer -via USER_2@192.168.2.101:3
  2. 系统提示时,键入密码并通过按 Enter 进行确认
  3. 在您的屏幕上会显示带有远程桌面的窗口。
限制 VNC 访问

如果您只想使用加密的连接,可以使用 systemd.service 文件中的 -localhost 选项完全防止未加密的连接,使用 ExecStart 行:

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

这将阻止 vncserver 接受来自本地主机之外的任何连接以及使用 SSH 发送的端口转发连接

有关使用 SSH 的详情请参考 第 12 章 OpenSSH

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.