遠端連線的目的是讓管理者在任何位置登入主機進行管理,無需親臨伺服器現場。根據傳輸介面分為文字介面圖形介面兩大類。

SSH(Secure Shell)#

加密原理#

SSH 基於非對稱金鑰加密系統。伺服器和用戶端各自持有一對公鑰與私鑰,透過相互驗證的金鑰組合來加密傳輸的資料。

連線機制#

  1. 伺服器提供其公鑰給用戶端
  2. 用戶端驗證伺服器公鑰並記錄於 known_hosts
  3. 用戶端產生自己的金鑰對並傳送公鑰給伺服器
  4. 雙向加密通訊建立

核心優勢#

相比 telnet 的明碼傳輸,SSH 將所有資料在網路上加密傳輸。SSH 還可作為通道,為其他不加密的服務提供安全的傳輸管道。

SSH 雖然加密,但協定本身仍可能有漏洞。建議僅對受信任的網域開放,並保持軟體更新。

XDMCP#

X Window 架構#

基於 X Window System 的 Server/Client 分離設計:

  • X Server:負責螢幕繪製與硬體管理(在用戶端)
  • X Client:負責程式邏輯與資料處理(在伺服器端)

XDMCP 透過 Display Manager(如 gdm)在 UDP port 177 監聽連線請求,讓用戶端直接取得圖形登入介面。

XDMCP 資料未加密,且防火牆設定複雜(涉及多個埠口)。僅適合在安全的區域網路內使用。

VNC(Virtual Network Computing)#

VNC 獨立於作業系統,透過專用的 VNC Server/Client 進行圖形遠端連線。伺服器在 port 5901 起的埠口監聽,每個埠口僅允許一個連線。

相較 XDMCP,VNC 設定更簡單,但同樣未加密。支援同步模式,可讓伺服器與用戶端畫面同步,便於遠端教學。

XRDP(RDP 相容)#

XRDP 在 Linux 上實現 Windows Remote Desktop Protocol 的相容。相比 VNC,RDP 具有連線加密功能。XRDP 自動將 RDP 連線轉換為內部 VNC 連線,使用者透過 Windows 遠端桌面即可連線。

四種技術比較#

技術加密複雜度適用場景
SSH文字介面、跨網路、高安全需求
XDMCP區域網路圖形登入
VNC區域網路獨立桌面
XRDP跨平台圖形桌面

進階應用#

SSH Port Forwarding#

透過 SSH 的 port forwarding 將無加密服務(如 VNC)包裝在 SSH 通道中傳輸,兼顧便利性與安全性。

SSH 傳遞 X 圖形#

無需啟動 VNC 或 XDMCP,直接透過 SSH 通道啟動遠端 X Client 應用程式在本地顯示。

rsync 備份#

透過 SSH 通道進行增量備份,僅複製兩端有差異的檔案,大幅提升備份效率。

在需要跨 Internet 的圖形遠端連線場景,最佳方案是「VNC over SSH tunnel」——結合 VNC 的圖形能力與 SSH 的加密安全。