歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在VPS主機上安裝和使用CentOS遠程桌面的教程

在VPS主機上安裝和使用CentOS遠程桌面的教程

日期:2017/3/1 17:45:26   编辑:Linux技術

如何遠程辦公或者遠程彈性化工作制在技術領域正變得越來越流行。這個趨勢背後的一個技術就是遠程桌面。你的桌面環境在雲中,你可以在任何你去的地方,或者在家或者工作場所訪問你的遠程桌面。

這個教程介紹如何VPS中設置基於CentOS的遠程桌面。現在,我們會先展示CentOS的基礎環境。

我們假設你已經創建了CentOS 7的VPS實例(比如,使用DigitalOcean 或者 Amazon EC2)。請確保你的VPS實例有至少1GB的內存。不然,CentOS將會在你訪問遠程桌面的時候會崩潰。
2015529181050832.jpg (800×527)

第一步: 安裝CentOS桌面

如果你現在安裝的CentOS版本是沒有桌面的最小版本,你需要先在VPS上安裝桌面(比如GNOME)。比如,DigitalOcean的鏡像就是最小版本,它需要如下安裝桌面GUI


復制代碼代碼如下:# yum groupinstall "GNOME Desktop"

在安裝完成之後重啟VPS。
第二步:安裝和配置VNC服務器

接下來就是安裝和配置VNC服務器。我們使用的是TigerVNC,一個開源的VNC服務實現。


復制代碼代碼如下:# yum install tigervnc-server

現在創建一個用戶賬戶(比如:xmodulo)用來訪問遠程桌面。


復制代碼代碼如下:# useradd xmodulo
# passwd xmodulo

當一個用戶嘗試使用VNC訪問遠程桌面時,VNC守護進程就會啟動來處理這個請求。這意味著你需要為每個用戶創建一個獨立的VNC配置文件。

CentOS依靠systemd來管理和配置系統服務。所以我們將使用systemd來為用戶xmodulo配置VNC服務器。

首先讓我們使用下面任意一條命令來檢查VNC服務器的狀態。


復制代碼代碼如下: # systemctl status vncserver@:.service
# systemctl is-enabled [email protected]

默認的,剛安裝的VNC服務並沒有激活(禁用)。
2015529181116243.jpg (772×182)

現在復制一份通用的VNC服務文件來為用戶xmodulo創建一個VNC服務配置。


復制代碼代碼如下: # cp <a>/lib/systemd/system/[email protected]</a> <a>/etc/systemd/system/vncserver@:1.service</a>

用本文編輯器來打開配置文件,用實際的用戶名(比如:xmodulo)來替換[Service]下面的。同樣。在ExecStart後面追加 "-geometry " 參數。最後,要修改下面“ExecStart”和“PIDFile”兩行。


復制代碼代碼如下:# vi <a>/etc/systemd/system/vncserver@:1.service</a> </p> <p> [Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"
PIDFile=/home/xmodulo/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

現在為用戶xmodulo設置密碼(可選)。首先切換到該用戶,並運行vncserver命令。


復制代碼代碼如下:# su - xmodulo
# vncserver

你會被提示輸入用戶的VNC密碼。密碼設置完成後,你下次需要用這個密碼來訪問你的遠程桌面。
2015529181148697.jpg (792×402)

最後,重新加載服務來使新的VNC配置生效:


復制代碼代碼如下:# systemctl daemon-reload

在啟動時自動啟動VNC服務:


復制代碼代碼如下:# systemctl enable vncserver@:1.service

檢查vnc服務正在監聽的端口:

# netstat -tulpn | grep vnc
2015529181215821.jpg (784×180)
端口5901是VNC默認的客戶端連接到VNC服務器使用的端口。
第三步:通過SSH連接到遠程桌面

從設計上說,VNC使用的遠程幀緩存(RFB)並不是一種安全的協議,那麼在VNC客戶端上直接連接到VNC服務器上並不是一個好主意。任何敏感信息比如密碼都可以在VNC流量中被輕易地洩露。因此,我強烈建議使用SSH隧道來加密你的VNC流量。

在你要運行VNC客戶端的本機上,使用下面的命令來創建一個連接到遠程VPS的SSH通道。當被要輸入SSH密碼時,輸入用戶的密碼。


復制代碼代碼如下: $ ssh xmodulo@<VPS-IP-address> -L 5901:127.0.0.1:5901

用你自己的VNC用戶名來替換“xmodulo”,並填上你自己的VPS IP地址。

一旦SSH通道建立之後,遠程VNC流量就會通過ssh通道路由並發送到127.0.0.1:5901。

現在啟動你最愛的VNC客戶端(比如:vinagre),來連接到127.0.0.1:5901。
2015529181241352.png (549×508)

你將被要求輸入VNC密碼。當你輸入VNC密碼時,你就可以安全地連接到CentOS的遠程桌面了。
2015529181316444.jpg (800×492)

然後就會看到如題圖的顯示。

Copyright © Linux教程網 All Rights Reserved