Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 遠程連接實戰:SSH 密鑰認證、VNC 桌面部署、X11 轉發與 RDP 跨平台互通

編輯:Linux 教學

Linux 遠程管理分為字符界面 (SSH) 與圖形界面 (VNC/X11/RDP) 兩大體系。本文涵蓋 SSH 密鑰免密登錄、跳板機代理、VNC Server 系統級部署、桌面環境選擇、X11 轉發運行遠程 GUI 程序、xrdp 實現 Windows 遠程桌面直連 Linux、安全加固與性能調優。

SSH:字符界面管理基石

1. 密鑰對生成與分發 (Ed25519 推薦)


# 客戶端生成
ssh-keygen -t ed25519 -C "admin@company" -f ~/.ssh/id_ed25519_admin
# 輸出: ~/.ssh/id_ed25519_admin (私鑰, 600), ~/.ssh/id_ed25519_admin.pub (公鑰)

# 分發公鑰至服務器
ssh-copy-id -i ~/.ssh/id_ed25519_admin.pub user@server
# 或手動
cat ~/.ssh/id_ed25519_admin.pub | ssh user@server "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

2. 客戶端配置 ~/.ssh/config (連接別名、跳板機、多賬號隔離)


Host prod-web
    HostName 10.0.1.10
    User ops
    IdentityFile ~/.ssh/id_ed25519_admin
    Port 2222
    ForwardAgent yes          # 代理轉發 (跳板機場景)
    ServerAliveInterval 30
    ServerAliveCountMax 3

Host bastion
    HostName 203.0.113.5
    User ops
    IdentityFile ~/.ssh/id_ed25519_admin

Host prod-db
    HostName 10.0.2.20
    User ops
    IdentityFile ~/.ssh/id_ed25519_admin
    ProxyJump bastion         # 透過跳板機直連內網 DB
    # 老版本用: ProxyCommand ssh -W %h:%p bastion

3. 服務端加固 /etc/ssh/sshd_config


Port 2222                     # 修改默認端口
PermitRootLogin no            # 禁用 root 登錄
PubkeyAuthentication yes      # 僅允許密鑰認證
PasswordAuthentication no     # 禁用密碼認證
ChallengeResponseAuthentication no
PermitEmptyPasswords no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers ops admin@10.0.0.0/8   # 白名單用戶/網段
# AllowGroups sshusers           # 或基於組
Banner /etc/ssh/banner.txt        # 登錄警告
LogLevel VERBOSE
# 重啟生效
systemctl reload sshd

VNC:全桌面遠程 (適合無圖形服務器安裝圖形工具)

1. 安裝桌面環境與 VNC Server (CentOS 7/8)


# 安裝輕量級 XFCE (推薦) 或 GNOME
yum groupinstall -y "Xfce" "Fonts"  # 或 "Server with GUI"
# yum install -y tigervnc-server

# 配置 VNC 服務 (用戶級 systemd)
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sed -i 's//ops/' /etc/systemd/system/vncserver@:1.service
sed -i 's/-geometry 1024x768/-geometry 1920x1080 -depth 24/' /etc/systemd/system/vncserver@:1.service

# 設置 VNC 密碼 (以 ops 用戶)
su - ops
vncpasswd
# 輸入雙次密碼 (僅前 8 字符有效)
exit

# 啟動並開機自啟
systemctl daemon-reload
systemctl enable --now vncserver@:1.service
# 端口: 5901 (5900 + display號)

2. VNC 客戶端連接

  • Windows/macOS/Linux:RealVNC Viewer、TigerVNC Viewer、Remmina、Vinagre。
  • 地址:server_ip:1 或 server_ip:5901。
  • SSH 隧道加密 (強烈建議):
    ssh -L 5901:localhost:5901 user@server
    # 本地連接 localhost:1
    

3. 多用戶並發與桌面環境選擇


# 創建多用戶服務
cp /etc/systemd/system/vncserver@:1.service /etc/systemd/system/vncserver@:2.service
sed -i 's/ops/dev/' /etc/systemd/system/vncserver@:2.service
systemctl enable --now vncserver@:2.service
# 端口 5902
桌面環境資源佔用易用性推薦場景
XFCE極低 (~200MB RAM)優服務器、低配 VPS、輕量管理
MATE低 (~300MB)優GNOME 2 風格愛好者
GNOME 3/40高 (~1GB+)極佳工作站、需現代 UI、Wayland 原生
KDE Plasma中高 (~800MB)極佳高度定製、Qt 應用開發

X11 轉發:單個圖形程序遠程顯示


# 服務端 /etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalhost no          # 允許綁定所有接口 (配合防火牆)
# 重啟 sshd

# 客戶端連接
ssh -X user@server          # 可信轉發 (需 xauth)
ssh -Y user@server          # 完全信任 (繞過 SECURITY extension)

# 遠程運行圖形程序
xeyes &
firefox &
virt-viewer &
# 窗口顯示在本地桌面,渲染在遠程 GPU/CPU

Windows 客戶端:安裝 VcXsrv (X Server) 或 X410 (商業),設置 DISPLAY=localhost:0,勾選 "Disable access control",SSH 客戶端 (MobaXterm/Termius/PuTTY+Xming) 開啟 X11 Forwarding。

RDP:Windows 原生遠程桌面直連 Linux (xrdp)

1. 安裝 xrdp (支援 Xorg/Xvnc 後端)


yum install -y epel-release
yum install -y xrdp xorgxrdp  # xorgxrdp 提供原生 Xorg 後端性能最佳
systemctl enable --now xrdp
firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload

# SELinux 策略 (如啟用)
chcon --type=bin_t /usr/sbin/xrdp
chcon --type=bin_t /usr/sbin/xrdp-sesman
setsebool -P allow_execmem on

2. 連接體驗

  • Windows 自帶 遠程桌面連接 (mstsc) 輸入 IP:3389。
  • 登錄界面選擇 Xorg (推薦,原生性能) 或 Xvnc (兼容性)。
  • 支援聲音重定向、剪貼板共享、驅動器重定向、智能卡、USB 重定向 (需 xrdp-vr 模組)。
  • macOS:Microsoft Remote Desktop (App Store)。
  • Linux:Remmina、FreeRDP (xfreerdp /v:server /u:user)。

方案選型決策矩陣

需求推薦方案關鍵優勢
日常命令行管理、自動化腳本、Git 操作SSH 密鑰認證輕量、無處不在、可腳本化、跳板機代理
需要完整桌面環境 (瀏覽器、IDE、圖形配置工具)VNC + SSH 隧道跨平台、多用戶並發、桌面環境自由選擇
僅需運行單個圖形程序 (Wireshark、Virt-Manager、矩陣計算視覺化)SSH X11 Forwarding零額外服務、本地窗口管理、低帶寬
Windows 用戶習慣 RDP、需聲音/剪貼板/驅動器重定向xrdp (Xorg 後端)原生 mstsc 體驗、性能接近 VNC、企業環境友好

安全與性能最佳實踐

  • 所有圖形協議 必須通過 SSH 隧道或 VPN,禁止直接暴露 5900+/3389 至公網。
  • VNC/xrdp 設置 強密碼 + 失敗鎖定 (pam_faillock)。
  • 調整 VNC 幀率/壓縮:-geometry 1920x1080 -depth 24 -compresslevel 6。
  • xrdp 開啟 use_vsock=true (Hyper-V/WSL2 虛擬化場景極低延遲)。
  • 定期審計 /var/log/secure、journalctl -u sshd/xrdp/vncserver@*。
Copyright © Windows教程網 All Rights Reserved