Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 圖形界面遠程訪問:VNC Server 兩步配置實戰

編輯:Linux 系統常見問題解答

VNC(Virtual Network Computing)讓你在遠端電腦上看到並操作 Linux 桌面環境,適合需要圖形界面的服務器管理、開發調試、演示等場景。本文以主流發行版為例,記錄「開啟遠程訪問」與「關閉防火牆」兩步核心配置。

前置條件

  • 目標 Linux 已安裝桌面環境(GNOME、KDE、XFCE、MATE 等)。
  • 已安裝 VNC Server 套件(如 tigervnc-server、vino、x11vnc)。
  • 擁有 root 或 sudo 權限。

步驟一:開啟桌面共享 / VNC 服務

不同桌面環境設置入口不同,核心都是啟用「遠程桌面」或「屏幕共享」並設置訪問密碼。

GNOME(Ubuntu、Fedora、CentOS 7/8 默認)

  1. 打開「設置」→「共享」→ 開啟「屏幕共享」。
  2. 勾選「允許連接控制屏幕」、「要求密碼」。
  3. 設置訪問密碼(建議 8 位以上,含大小寫數字)。
  4. 網絡選項選「僅本地網絡」或「所有網絡」(視安全策略)。

GNOME 屏幕共享設置 訪問密碼設置

KDE Plasma

  1. 「系統設置」→「遠程桌面」→ 勾選「啟用遠程桌面服務」。
  2. 配置端口(默認 5900)、密碼、加密選項。

通用命令行方式(TigerVNC,適用于無桌面或自定義會話)

# 安裝
yum install tigervnc-server -y  # RHEL/CentOS
apt install tigervnc-standalone-server -y  # Ubuntu/Debian

# 配置用戶密碼(以用戶 vncuser 為例)
su - vncuser
vncpasswd
# 輸入兩次密碼,可選設置只讀密碼

# 配置會話啟動腳本 ~/.vnc/xstartup
cat > ~/.vnc/xstartup <<'EOF'
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
EOF
chmod +x ~/.vnc/xstartup

# 啟動 VNC 服務(顯示號 :1 對應端口 5901)
vncserver :1 -geometry 1920x1080 -depth 24

# 開機自啟(systemd)
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sed -i 's//vncuser/g' /etc/systemd/system/vncserver@:1.service
systemctl daemon-reload
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service

步驟二:防火牆放行 VNC 端口

VNC 默認端口為 5900 + 顯示號(如 :1 → 5901,:0 → 5900)。必須在防火牆開放對應 TCP 端口。

firewalld(RHEL/CentOS/Fedora 7+)

# 永久開放 5901(顯示號 :1)
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload

# 或直接開放 vnc-service(預定義 5900-5903)
firewall-cmd --permanent --add-service=vnc-server
firewall-cmd --reload

ufw(Ubuntu/Debian)

ufw allow 5901/tcp
ufw reload

iptables(傳統/精簡環境)

iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
service iptables save  # 或 iptables-save > /etc/iptables/rules.v4

防火牆關閉/放行端口示意

客戶端連接驗證

  • Windows/macOS/Linux:使用 RealVNC Viewer、TigerVNC Viewer、Remmina、Vinagre 等客戶端。
  • 輸入地址:服務器IP:顯示號(如 192.168.1.100:1)或 服務器IP::端口(如 192.168.1.100::5901)。
  • 輸入步驟一設置的訪問密碼,即可看到遠程桌面。

安全加固建議(生產環境必做)

  1. SSH 隧道加密:VNC 協議默認明文傳輸。客戶端建立隧道:ssh -L 5901:localhost:5901 user@server,再連接 localhost:1,流量經 SSH 加密。
  2. 僅綁定本地回環:VNC Server 配置 -localhost 參數,只監聽 127.0.0.1,強制通過 SSH 隧道訪問。
  3. 強密碼 + 失敗鎖定:配合 fail2ban 監控 VNC 日志封禁暴力破解 IP。
  4. 最小權限用戶:專用低權限用戶運行 VNC,不用 root。

總結: 開啟桌面共享 → 放行防火牆端口 → 客戶端連接 → 生產環境加 SSH 隧道。兩步核心配置,三步安全加固,即得安全可用的遠程桌面。

Copyright © Windows教程網 All Rights Reserved