VNC Server + SSH Tunnel
想操作遠端的 Linux 桌面就架設 VNC Server 來用
然後考量連線安全,再透過 SSH Tunnel 來連線
久久設定一次都找網路資料,還是簡略記錄過程
首先安裝 VNCServer 服務
設定 /etc/sysconfig/vncserver 設定檔,以要讓 bestlong 帳號登入為例
1 2 | VNCSERVERS="2:bestlong" VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost" |
其中的 2 就是設定成 5900 + 2 當連線的 Port
接著登入 bestlong 帳號用 vncpassw 建立連線密碼,這一步驟沒做會導致 VNC Server 無法順利啟動
1 2 3 4 | [bestlong@www ~]$ vncpasswd Password: Verify: [bestlong@www ~]$ |
啟動 VNC Server 服務 /etc/init.d/vncserver start
1 2 3 4 5 6 7 8 9 10 | [root@www ~]# /etc/init.d/vncserver start 正在啟動 VNC 伺服器: 2:allen New 'www.bestlong.idv.tw:2 (bestlong)' desktop is www.bestlong.idv.tw:2 Creating default startup script /home/bestlong/.vnc/xstartup Starting applications specified in /home/bestlong/.vnc/xstartup Log file is /home/bestlong/.vnc/www.bestlong.idv.tw:2.log [ 確定 ] [root@www ~]# |
在 SSH 完成連線並登入
接著設定 Putty (or Pietty) Tunnel
1 2 3 4 | Source port 5902 Destintion localhost:5902 Local Auto |
然後就可以用 VNC Client 連線
要注意先前設定的 ssh 在此時必須是連線狀態 Tunnel 才會存在
連線到 localhost:2 並輸入密碼就可以看到一個簡單的桌面
這是因為所產生的設定是預設使用 twm 視窗管理員
當然也是可以改為 GNOME 或 KDE 的
請修改 $HOME/.vnc/xstart 檔案
以 bestlong 帳號來說路徑就是 /home/bestlong/.vnc/xstart
預設內容是
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & |
修改成為
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/sh # Uncomment the following two lines for normal desktop: unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #twm & gnome-session & |
修改完後重新啟動 VNC Server
然後重新用 VNC Client 連線就可以看到 GNOME 桌面了。
Tags: SSH Tunnel, VNC Server