Linux有問必答:如何在VPS上安裝和訪問CentOS 7遠程桌面
第一步: 安裝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 vncserver@.service
默認的,剛安裝的VNC服務並沒有激活(禁用)。
現在複製一份通用的VNC服務文件來為用戶xmodulo創建一個VNC服務配置。
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
用本文編輯器來打開配置文件,用實際的用戶名(比如:xmodulo)來替換[Service]下面的。同樣。在ExecStart後面追加 "-geometry " 參數。最後,要修改下面「ExecStart」和「PIDFile」兩行。
# vi /etc/systemd/system/vncserver@:1.service
[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密碼。密碼設置完成後,你下次需要用這個密碼來訪問你的遠程桌面。
最後,重新載入服務來使新的VNC配置生效:
# systemctl daemon-reload
在啟動時自動啟動VNC服務:
# systemctl enable vncserver@:1.service
檢查vnc服務正在監聽的埠:
# netstat -tulpn | grep vnc
埠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。
你將被要求輸入VNC密碼。當你輸入VNC密碼時,你就可以安全地連接到CentOS的遠程桌面了。
然後就會看到如題圖的顯示。
via: http://ask.xmodulo.com/centos-remote-desktop-vps.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive