2011年5月27日 星期五

[Linux] VNC + SSH Tunnel + iptables @ Ubuntu 10.04 desktop

由於要上課的關係且手邊的筆電只有 EEE PC 等級,課程卻是要開 Eclipse 跑 Android 模擬器,故選用了遠端桌面啦,但 Ubuntu 的遠端桌面不太好用?!不曉得可能是因為我不太懂,每次啟動 VNC 時,除了本機端不能 logout 外,且 VNC 好像也不是加密連線?


簡單的說,當 Ubuntu desktop 要開啟遠端連線時,遠端看到的畫面就目前本機端看到的,所以不能 logout ,因為 logout 的話,遠端也是看到一樣的畫面 XD 我記得 Ubuntu 裡頭有 "遠端桌面" 跟 "遠端登入",我猜我可能有些誤解,印象中以前有用過遠端登入使用 X-Window 的說。


至於在 Ubuntu 上使用遠端桌面且希望加密的解法,就是使用 SSH Tunnel ,讓所有連線內容都走 SSH 加密連線。而 iptables 是 Ubuntu 的防火牆設定,把 VNC 的預設 5900 port 限制一下,僅限本地端連線,這樣算是基本的安全設定吧。


環境敘述:


一台 Ubuntu 10.04 desktop 工作機、一台 Windows XP 小筆電


Ubuntu:


vnc_remote_desktop



  • 開啟 SSH 服務提供遠端登入

    • $ sudo apt-get install openssh-server



  • 開啟 VNC 服務,並限定需要密碼才能登入

    • [System] -> [Preferences] -> [Remote Desktop]



  • 設定 iptable ,限制只能本地端 localhost 登入 5900 port (VNC port),對外網卡是 eth0

    • $ sudo iptables -A INPUT -i eth0 -p tcp --dport 5900 -j DROP




Windows XP:


ssh_tunnel



  • 使用 PuTTY 建立 SSH Tunnels,讓本地端 localhost 5900 對應到 Ubuntu 機器的 5900 


    • PuTTY -> Connection -> SSH -> Tunnels -> Source Port (5900) 、Destination(ubuntu_ip:5900) ,按 Add 新增,之後就可以點 Open 開啟連線



  • 使用 RealVNC - VNC® remote control softwareVNC Viewer Free 軟體進行遠端登入,免費的,下載軟體時可以不填資料

    • 連線位置 localhost 即可,過程會需要輸入 Ubuntu 設定的遠端桌面的密碼




使用的感覺是堪用,如果在 VNC Viewer 進行登出、鎖定螢幕等動作,會導致無法連回 Ubuntu 機器。最大的缺點是... Ubuntu 本機端無法 lock screen 會有資安問題!


沒有留言:

張貼留言