要在 Windows 系统中通过 VNC 远程连接到 CentOS 或 Ubuntu 服务器,可以按照以下步骤来配置和使用 VNC 进行远程桌面访问

服务器 0

要在 Windows 系统中通过 VNC 远程连接到 CentOS 或 Ubuntu 服务器,可以按照以下步骤来配置和使用 VNC 进行远程桌面访问。

在 CentOS 或 Ubuntu 服务器上配置 VNC 服务

步骤 1:安装 VNC 服务器和桌面环境

对于 CentOS:

  1. 安装桌面环境(GNOME 或其他):
    sudo yum groupinstall "Server with GUI"
  2. 安装 VNC 服务器:
    sudo yum install tigervnc-server

对于 Ubuntu:

  1. 安装桌面环境(如果没有安装):
    sudo apt updatesudo apt install ubuntu-desktop
  2. 安装 VNC 服务器:
    sudo apt install tigervnc-standalone-server
步骤 2:设置 VNC 密码

运行以下命令来设置 VNC 密码:

vncpasswd

它会要求输入并确认密码。

步骤 3:配置 VNC 服务
  1. 编辑 VNC 服务器配置文件:

    sudo nano /etc/systemd/system/vncserver@:1.service
  2. 在文件中添加以下内容:

[Unit]Description=Remote desktop service (VNC)After=syslog.target network.target[Service]Type=forkingUser=rootGroup=rootWorkingDirectory=/rootExecStart=/usr/bin/vncserver :1PIDFile=/root/.vnc/%H%i.pidExecStop=/usr/bin/vncserver -kill :1[Install]WantedBy=multi-user.target
  • 安全性问题:VNC 服务直接作为 root 运行会暴露整个系统于潜在的安全风险。如果 VNC 服务被入侵,攻击者将获得对整个系统的完全控制权限。

  • 最小权限原则:最佳实践是只赋予进程它们所需的最低权限。通过使用非 root 用户来运行 VNC 服务,即使服务被入侵,潜在的风险也可以被限制在用户权限范围内。
    更安全的做法是使用普通用户运行,并根据需要配置 sudo 权限或 polkit 策略来允许用户执行需要提升权限的操作。尽量避免长期以 root 运行网络服务。

  1. 保存并退出 (Ctrl+X,然后按 Y 保存)。

  2. 设置 VNC 服务器为开机自启:

    sudo systemctl daemon-reloadsudo systemctl enable vncserver@:1.service
  3. 启动 VNC 服务:

    sudo systemctl start vncserver@:1.service
步骤 4:开启防火墙端口

VNC 默认使用 5901 端口,你可以通过以下命令开放该端口:

对于 CentOS:

sudo firewall-cmd --permanent --zone=public --add-port=5901/tcpsudo firewall-cmd --reload

对于 Ubuntu:

sudo ufw allow 5901/tcp

修改 VNC 服务器的默认端口(通常是 5901),可以按照以下步骤进行配置。默认情况下,VNC 服务器的端口是 5900 + 显示编号(display number),即如果显示编号为 1,那么使用的端口是 5901

步骤 1:修改 VNC 服务配置文件

  1. 打开或创建 VNC 服务的配置文件。例如,如果使用显示编号 2(对应端口 5902),可以修改如下配置:

    对于 CentOS:

    sudo nano /etc/systemd/system/vncserver@:2.service

    对于 Ubuntu:

    sudo nano ~/.vnc/xstartup
  2. 将以下内容添加或修改(此示例使用 :2 显示编号):

    [Unit]Description=Remote desktop service (VNC)After=syslog.target network.target[Service]Type=forkingUser=<your-username>Group=<your-group>WorkingDirectory=/home/<your-username>ExecStart=/usr/bin/vncserver :2PIDFile=/home/<your-username>/.vnc/%H%i.pidExecStop=/usr/bin/vncserver -kill :2[Install]WantedBy=multi-user.target

    这里的 :2 是显示编号,VNC 服务器将会监听 5902 端口。

  3. 保存并退出编辑器 (Ctrl+X,然后按 Y 保存)。

步骤 2:重新加载 systemd 配置并启动 VNC

  1. 重新加载 systemd 配置:

    sudo systemctl daemon-reload
  2. 启动新的 VNC 服务(在显示编号 2 上):

    sudo systemctl start vncserver@:2.service
  3. 如果你希望 VNC 在启动时自动运行,可以启用服务:

    sudo systemctl enable vncserver@:2.service

步骤 3:开放新端口

如果你修改了显示编号并相应地改变了端口号(例如,显示编号 2,使用端口 5902),需要确保防火墙允许新的端口。

对于 CentOS:

sudo firewall-cmd --permanent --zone=public --add-port=5902/tcpsudo firewall-cmd --reload

对于 Ubuntu:

sudo ufw allow 5902/tcp

步骤 4:使用新的端口进行连接

  1. 在 VNC Viewer 中输入新端口号。例如,如果你设置了显示编号 2,则在 VNC Viewer 中输入 IP地址:5902 进行连接。
  2. 输入 VNC 密码,成功连接到新的 VNC 会话。

更改端口号注意事项

  • 你可以使用任意显示编号(从 1 到 n)来生成对应的 VNC 端口,端口号等于 5900 + 显示编号
  • 确保新的端口没有被其他应用占用。
  • 通过防火墙允许访问你配置的端口。

在 Windows 上使用 VNC 客户端进行连接

步骤 1:下载和安装 VNC Viewer
  1. 下载 VNC Viewer 适用于 Windows 的客户端。
  2. 安装并打开 VNC Viewer。
步骤 2:连接到服务器
  1. 在 VNC Viewer 的地址栏中输入 IP地址:5901,例如 192.168.1.100:5901
  2. 点击 Connect,它会提示你输入 VNC 密码(之前在服务器上设置的密码)。
  3. 成功连接后,你应该能够看到远程服务器的桌面。

其他注意事项

  • 确保防火墙和网络允许 VNC 的 5901 端口通过。
  • 如果需要通过公网访问,建议通过 SSH 隧道或 VPN 增强安全性,因为 VNC 本身的安全性较低。

这样就可以从 Windows 通过 VNC 远程连接到 CentOS 或 Ubuntu 服务器上的桌面环境了!

也许您对下面的内容还感兴趣: