遠端連線的目的是讓管理者在任何位置登入主機進行管理,無需親臨伺服器現場。根據傳輸介面分為文字介面和圖形介面兩大類。
SSH(Secure Shell)#
加密原理#
SSH 基於非對稱金鑰加密系統。伺服器和用戶端各自持有一對公鑰與私鑰,透過相互驗證的金鑰組合來加密傳輸的資料。
連線機制#
- 伺服器提供其公鑰給用戶端
- 用戶端驗證伺服器公鑰並記錄於
known_hosts - 用戶端產生自己的金鑰對並傳送公鑰給伺服器
- 雙向加密通訊建立
核心優勢#
相比 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 的加密安全。