Remmina 的極簡使用者介面使得遠端存取 Linux / Windows 10 變得輕鬆。
根據維基百科,遠端桌面 是一種“軟體或者作業系統特性,它可以讓個人電腦上的桌面環境在一個系統(通常是電腦,但是也可以是伺服器)上遠端執行,但在另一個分開的用戶端裝置顯示”。
換句話說,遠端桌面是用來存取在另一台電腦上執行的環境的。比如說 ManageIQ/Integration tests 倉庫的拉取請求 (PR) 測試系統開放了一個虛擬網路計算 (VNC) 連線埠,使得我能夠遠端瀏覽正被實時測試的拉取請求。遠端桌面也被用於幫助客戶解決電腦問題:在客戶的許可下,你可以遠端建立 VNC 或者遠端桌面協定(RDP)連線來檢視或者互動式地存取該電腦以尋找並解決問題。
運用遠端桌面連線軟體可以建立這些連線。可供選擇的軟體有很多,我用 Remmina,因為我喜歡它極簡、好用的使用者介面 (UI)。它是用 GTK+ 編寫的,在 GNU GPL 許可證開源。
在這篇文章裡,我會解釋如何使用 Remmina 用戶端從一台 Linux 電腦上遠端連線到 Windows 10 系統 和 Red Hat 企業版 Linux 7 系統。
首先,你需要在你用來遠端存取其它電腦的的主機上安裝 Remmina。如果你用的是 Fedora,你可以執行如下的命令來安裝 Remmina:
sudo dnf install -y remmina
如果你想在一個不同的 Linux 平台上安裝 Remmina,跟著 安裝教學 走。然後你會發現 Remmina 正和你其它軟體出現在一起(在這張圖片裡選中了 Remmina)。
點選圖示執行 Remmina,你應該能看到像這樣的螢幕:
Remmina 提供不同種類的連線,其中包括用來連線到 Windows 系統的 RDP 和用來連線到 Linux 系統的 VNC。如你在上圖左上角所見的,Remmina 的預設設定是 RDP。
在你通過 RDP 連線到一台 Windows 10 電腦之前,你必須修改許可權以允許分享遠端桌面並通過防火牆建立連線。
要許可遠端桌面分享,在“檔案管理器”介面右擊“我的電腦 → 屬性 → 遠端設定”,接著在跳出的視窗中,勾選“在這台電腦上允許遠端連線”,再點選“應用”。
然後,允許遠端連線通過你的防火牆。首先在“開始選單”中查詢“防火牆設定”,選擇“允許應用通過防火牆”。
在開啟的視窗中,在“允許的應用和特性”下找到“遠端桌面”。根據你用來存取這個桌面的網路酌情勾選“隱私”和/或“公開”列的選框。點選“確定”。
回到你用來遠端存取 Windows 主機的 Linux 電腦,開啟 Remmina。輸入你的 Windows 主機的 IP 地址,敲擊確認鍵。(我怎麼在 Linux 和 Windws 中確定我的 IP 地址?)看到提示後,輸入你的使用者名稱和密碼,點選“確定”。
如果你被詢問是否接受證書,點選“確定”。
你此時應能看到你的 Windows 10 主機桌面。
要在你的 RHEL7 電腦上允許遠端存取,在 Linux 桌面上開啟“所有設定”。
點選分享圖示會開啟如下的視窗:
如果“螢幕分享”處於關閉狀態,點選一下。一個視窗會彈出,你可以滑動到“開啟”的位置。如果你想允許遠端控制桌面,將“允許遠端控制”調到“開啟”。你同樣也可以在兩種存取選項間選擇:一個能夠讓電腦的主要使用者接受或者否絕連線要求,另一個能用密碼驗證連線。在視窗底部,選擇被允許連線的網路介面,最後關閉視窗。
接著,從“應用選單 → 其它 → 防火牆”開啟“防火牆設定”。
勾選 “vnc-server”旁邊的選框(如下圖所示)關閉視窗。接著直接到你遠端電腦上的 Remmina,輸入你想連線到的 Linux 桌面的 IP 地址,選擇 VNC 作為協定,點選確認鍵。
如果你之前選擇的驗證選項是“新連線必須詢問存取許可”,RHEL 系統使用者會看到這樣的一個彈窗:
點選“接受”以成功進行遠端連線。
如果你選擇用密碼驗證連線,Remmina 會向你詢問密碼。
輸入密碼然後“確認”,你應該能連線到遠端電腦。
Remmina 提供如上圖所示的標籤化的 UI,就好像一個瀏覽器一樣。在上圖所示的左上角你可以看到兩個標籤:一個是之前建立的 WIndows 10 連線,另一個新的是 RHEL 連線。
在視窗的左側,有一個有著“縮放視窗”、“全螢幕模式”、“偏好”、“截圖”、“斷開連線”等選項的工具列。你可以自己探索看那種適合你。
你也可以通過點選左上角的“+”號建立儲存過的連線。根據你的連線情況填好表單點選“儲存”。以下是一個 Windows 10 RDP 連線的範例:
下次你開啟 Remmina 時連線就在那了。
點選一下它,你不用補充細節就可以建立連線了。
當你使用遠端桌面軟體時,你所有的操作都在遠端桌面上消耗資源 —— Remmina(或者其它類似軟體)僅僅是一種與遠端桌面互動的方式。你也可以通過 SSH 遠端存取一台電腦,但那將會讓你在那台電腦上局限於僅能使用文字的終端。
你也應當注意到當你允許你的電腦遠端連線時,如果一名攻擊者用這種方法獲得你電腦的存取權同樣會給你帶來嚴重損失。因此當你不頻繁使用遠端桌面時,禁止遠端桌面連線以及其在防火牆中相關的服務是很明智的做法。