VNC+SSH的配置與使用(Debian xfce4)
阿新 • • 發佈:2018-12-16
伺服器端設定
安裝vncserver:
sudo apt-get install tightvncserver
配置桌面啟動指令碼檔案 ~/.vnc/xstartup,檔案不存在則新建,內容如下:
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 & pulseaudio & fcitx & [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey
使檔案可執行:
chmod +x ~/.vnc/xstartup
修改SSH配置檔案 /etc/sshd_config:
SSH服務的基本設定請檢視另一篇文章 Debian Linux SSH/SFTP 服務設定 ,這裡僅說明SSH連線VNC要做的必要修改。
-
首先在全域性設定區禁止使用者使用密碼登入而只能用私匙檔案登入:
PasswordAuthentication no PermitEmptyPasswords no PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
-
同時還要禁止X11和TCP轉發:
X11Forwarding no X11DisplayOffset 10 PrintMotd no PrintLastLog yes AllowTcpForwarding no TCPKeepAlive yes
-
單獨設定允許使用vnc或SFTP的個別使用者:
Subsystem sftp internal-sftp AllowGroups xvnc sftp Match Group sftp ForceCommand internal-sftp ChrootDirectory /home/SFTP PasswordAuthentication yes Match Group xvnc X11Forwarding yes AllowTcpForwarding yes
上例中允許通過私匙檔案使用vnc的是“xvnc”組,允許通過SFTP密碼登入的是sftp組。
客戶端設定
Remmina安裝
VNC連線軟體使用Remmina,它只能在Linux下使用。我還沒發現哪個Windows下的應用程式能夠通過SSH私匙使用VNC。
sudo apt-get install remmina remmina-plugin-vnc
SSH連線到伺服器並開啟vnc桌面
安裝成功後開啟Remmina,新建一個SSH連線,認證型別當然是使用私匙。SSH連線到伺服器後,使用下面命令開啟vnc桌面服務:
vncserver -name myVNC -geometry 1820x960 -httpport 5901 :1
如果第一次啟用vnc服務,會提示你設定訪問密碼。如果沒有錯誤資訊,斷開SSH連線即可。
通過SSH通道連線VNC
如果你願意,上一步開啟的VNC桌面完全可以只使用密碼就能訪問,但資料是不加密的。我們費勁設定SSH的目的就是為了安全。
在Remmina中新建一個VNC檢視器連線(VNC viewer),伺服器通常是ip或域名加編號的形式,如:
192.168.1.106:1
色彩深度和畫質按需選擇。然後賺到“SSH Tunnel”(SSH通道)標籤頁設定啟用SSH通道,SSH驗證方式選擇為私匙檔案即可。儲存後雙擊該設定即可連線,會有私匙密碼和VNC密碼輸入的提示。
順利的話你會看到跟伺服器本地登入差不多的桌面,但這是一個新的登入,桌面是新的。
使用結束後記得通過SSH關閉VNC服務,否則他人有可能使用密碼(而不需要私匙檔案)就能訪問你的桌面:
vncserver -kill :1
作者: [email protected]
Created: 2018-10-19 五 09:54