為了要能夠在家裏就遠端遙控辦公室的電腦,找了UltraVNC這套遠端連線軟體,但是直接連線總是擔心資料被竊取監聽,所以又上網看看有沒有提高安全性的連線方式。最後除了軟體本身提供的MSRC4 Plug-in以外,又利用了SSH Tunnel來達到安全連線的效果。
▼ UltraVNC
原本網路上已經有一篇簡介,但是原網址似乎已經失效,所以在此把過程重新紀錄一次,以免下次就忘記要怎麼使用了。
首先要有一個可以架設SSH Tunnel Server的軟體,這邊我選用的是FreeSSHd,Win32比較多人使用的還有Cygwin,不過我沒有很喜歡它,所以就算了。安裝完畢之後,選擇Settings,應該會看到Server Status的Tab如下圖,首先要確定SSH的狀態要是打勾的,才能進行之後的Tunnel設定。(同時也要確定防火牆有打開port 22,有用分享器的記得也要打開DMZ之類的port mapping功能!)
▼ FreeSSHd Server Status
之後選擇User的Tab頁籤,增加一位使用者,以供之後登入SSH Server使用,在此同時可以設定密碼,並限制使用者能使用的服務內容。
▼ 增加一位User
最後再到Tunnels頁籤,把port forwarding的選項都打勾,就架設好一台SSH Server了。
▼ Enable port forwading
接著,就是從要執行VNC Viewer的電腦做設定,利用支援SSH Tunnel的軟體做port forwarding,此處可以使用Putty或Pietty。
在設定頁中,選擇Connection->SSH->Tunnels,增加一個新的forwarded port。Source port是本機的port,Destination是遠端(架設VNC Server的電腦)的ip/domain name及port,例如:www.abc.com:5920,設定完成後,連線到127.0.0.1:22(SSH連線),再用之前設定FreeSSHd時的帳號密碼登入,就可以完成與遠端電腦的Tunnel連線,此時,本機電腦上的port 5900(假設剛才Source port設定為5900),就mapping到www.abc.com的port 5920。
▼ 在Pietty中設定port forwarding
▼ 連線至遠端電腦:22
因此,我們只要打開VNC Viewer,連線至127.0.0.1:5900,就可以執行加密後的遠端連線了!
▼ VNC至127.0.0.1:5900,相當於連線至遠端
參考資料:
http://en.wikipedia.org/wiki/RC4
MSRC4 DSM Plugin for UltraVNC
PuTTY – SSH Tunnel 運用備忘
http://zh.wikipedia.org/wiki/SSH
http://en.wikipedia.org/wiki/Tunneling_protocol