作者 | Shusain
譯者 | geekpi
在本教程中,我們將學習安裝 VNC 伺服器並使用 TLS 加密保護 VNC 會話。
此方法已經在 CentOS 6&7 上測試過了,但是也可以在其它的版本/作業系統上執行(RHEL、Scientific Linux 等)。
(推薦閱讀:保護 SSH 會話終極指南[1])
安裝 VNC 伺服器
在機器上安裝 VNC 伺服器之前,請確保我們有一個可用的 GUI(圖形使用者介面)。如果機器上還沒有安裝 GUI,我們可以透過執行以下命令來安裝:
yum groupinstall "GNOME Desktop"
現在我們將 tigervnc 作為我們的 VNC 伺服器,執行下麵的命令執行:
# yum install tigervnc-server
安裝完成後,我們將建立一個新的使用者訪問伺服器:
# useradd vncuser
並使用以下命令為其分配訪問 VNC 的密碼:
# vncpasswd vncuser
我們在 CentOS 6&7 上配置會有一點改變,我們首先看 CentOS 6 的配置。
CentOS 6
現在我們需要編輯 VNC 配置檔案:
# vim /etc/sysconfig/vncservers
並新增下麵這幾行:
[ …]
VNCSERVERS= "1:vncuser"
VNCSERVERARGS[1]= "-geometry 1024×768″
儲存檔案並退出。接下來重啟 vnc 服務使改動生效:
# service vncserver restart
併在啟動時啟用它:
# chkconfig vncserver on
CentOS 7
在 CentOS 7 上,/etc/sysconfig/vncservers
已經改為 /lib/systemd/system/vncserver@.service
。我們將使用這個配置檔案作為參考,所以建立一個檔案的副本,
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
接下來,我們將編輯檔案以包含我們建立的使用者:
# vim /etc/systemd/system/vncserver@:1.service
編輯下麵 2 行中的使用者:
ExecStart=/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i"
PIDFile=/home/vncuser/.vnc/%H%i.pid
儲存檔案並退出。接下來重啟服務併在啟動時啟用它:
# systemctl restart vncserver@:1.service
# systemctl enable vncserver@:1.service
現在我們已經設定好了 VNC 伺服器,並且可以使用 VNC 伺服器的 IP 地址從客戶機連線到它。但是,在此之前,我們將使用 TLS 加密保護我們的連線。
保護 VNC 會話
要保護 VNC 會話,我們將首先配置加密方法。我們將使用 TLS 加密,但也可以使用 SSL 加密。執行以下命令在 VNC 伺服器上使用 TLS 加密:
# vncserver -SecurityTypes=VeNCrypt,TLSVnc
你將被要求輸入密碼來訪問 VNC(如果使用其他使用者,而不是上述使用者)。
secure vnc server
現在,我們可以使用客戶機上的 VNC 瀏覽器訪問伺服器,使用以下命令以安全連線啟動 vnc 瀏覽器:
# vncviewer -SecurityTypes=VeNCrypt,TLSVnc 192.168.1.45:1
這裡,192.168.1.45 是 VNC 伺服器的 IP 地址。
secure vnc server
輸入密碼,我們可以遠端訪問伺服器,並且也是 TLS 加密的。
這篇教程就完了,歡迎隨時使用下麵的評論欄提交你的建議或疑問。
via: http://linuxtechlab.com/secure-vnc-server-tls-encryption/
作者:Shusain[3] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出