2008/03/14

利用 SSH Tunnel 穿透防火牆 - 憑你的智慧,我很難跟你解釋。

利用 SSH Tunnel 穿透防火牆

「上班的地方不給抓 FTP、上 MSN、騎 eMule、種 BT 等等等等諸如此類者,何解?」

很簡單,請照下列處方服用:


先備條件:
  • 你必須有一台額外的電腦能夠提供 SSH Server 的服務,並且這台電腦是處於你目前所受到限制的網路之外。更精確的說,如果你在公司裡,那你就要有一台可以從外面連線進去的電腦在家裡/學校/網咖/比爾 蓋茲的辦公室等等隨便。如果沒有也沒關係,只要有任何在公司外部的人願意幫你就行了。

打造 SSH Server:
  • 這裡的 SSH Server 請安裝在上述所提到的不受限制的網路中的電腦,也就是公司之外的那台。而鑑於大多數的人都使用暈倒死的環境,這裡簡單推薦一款免費的 SSH Server 軟體:copSSH。 安裝沒有什麼技巧,但是裝完之後記得到程式集中找到「COPSSH」,然後選擇「Activate a user」,接著在左邊的「User name」選擇目前的暈倒死登入帳號,按「Next」,並輸入一個新的自定密碼兩次就搞定了。如果是 *nix 系列的作業系統,則請自行參考 OpenSSH 的資料安裝 SSH Daemon 並啟動之。

啟動 SSH Tunnel:
  1. 以下步驟開始,場景換到公司裡的電腦進行,也就是說,上班的時候這麼做就對啦。請先到 PuTTY Download Page 找到適合你系統版本的 putty.exe 下載,或是使用國人開發的替代中文版本 PieTTY 亦無妨。

  2. 執行 putty.exe(或 pietty0327.exe),在左欄的一堆設定中找到「Connection」→「SSH」→「Tunnels」,然後在右側的「Source port」中填入一個 1024~65536 之間的值,例如「5678」,下方的「Local」圈選鈕則改成圈選「Dynamic」,接著按下「Add」的按鈕。

  3. 在左欄的設定中找到「Session」,會回到一開始進入的畫面,然後在「Host Name (or IP address)」中填入先前安裝 copSSH(或 OpenSSH)的電腦網址或 IP,然後按下「Open」按鈕即會開始連線。如果不想每次都要重覆設定的話,可以在「Saved Sessions」下方打入一個名字,在此以「Host Name」為例,並按下「Save」按鈕就可以存下設定值,下次只要點兩下此設定檔便可直接連線。

  4. 接下來的視窗中,會跳出警告視窗,選擇是或否都無所謂,並請使用你在設定 SSH Server 時所提供的帳號及密碼登入,然後就可以把視窗縮小不理它。

開始穿透防火牆:
  • 不管是 FTP 軟體還是 MSN,甚至 eMule、BT 等下載軟體都好,基本上它們都可以設定透過代理伺服器連線。只要在適當的地方填入主機位址為「localhost」,連接埠號為「5678」的資訊,並選擇 SOCKS5,就可以儘情的幹壞事了。

寫在最後:
  • 基本上 SSH 走的是加密通訊協定,會比較慢一些是正常的。而公司一般來說不會去防此類連線,因為傳遞重要機密資料就靠這些加密協定了,再防下去乾脆公司都不要上網比較 快。然而或許有些公司的網管政策嚴格到只有經理級的電腦才能使用加密協定,那這招可能也就無用武之地了。除此之外,這應該算是目前我所知道最好的偷渡方案 吧...

沒有留言: