看板 EZsoft 關於我們 聯絡資訊
圖文完整版:http://bbsfwdr.blogspot.com/2009/10/ssh-tunnel.html = 前言 = 本文旨在以淺顯易懂的方式,說明 SSH tunnel 的使用方式。透過一步一步的教學, 盡量讓所有人都能順利跟著操作此一技巧。因此內容盡量以實用導向為主,而不涉及 太過深入的理論說明及專有名詞(因為我自己也是一知半解 XD)。 = 什麼是 SSH tunnel? = 直白來說,SSH tunnel 就是一般常見認知中所謂的跳板穿牆匿名瀏覽的技術。 透過加密及重新導向的方式,將原本被封鎖的網路封包訊息,加密後經由特定通道 傳遞,藉以避開封鎖、追蹤的機制。 = 為什麼我需要 SSH tunnel? = 當你有以下症頭的時候,SSH tunnel「也許」會是你的救星: 1. 學校或公司的網路只允許上網頁或收信,但封鎖了上 BBS 的功能。 2. 特定網站(如臉書、開心農場)遭到封鎖,但其他網站仍正常。 3. MSN 遭到封鎖,但其他網路應用仍正常。 4. 身處一片和諧的地區,但又很反骨地想要瀏覽特定網站或資訊。 5. 懷疑自己的 MSN 聊天訊息被封包擷取軟體竊聽了,因而想加密聊天訊息。 6. 想要在上 BBS 的時候多一層保障,但又受限於 PCMan 一類的軟體不支援 ssh 協定。 (註:只有與跳板之間的封包傳遞為加密狀態,跳板對外的部分仍是沒有加密的。) = SSH tunnel 有什麼限制? = 1. 你還是必須有辦法與外界網路溝通,而不是整個遭到封鎖、只能瀏覽內網資訊。 2. MIS 恰好忘了封鎖此一應用方式。 3. 你必須擁有一台完全不受限制的主機(例如放在台灣、家裡的電腦,但 若有 IP 分享器、防火牆的話,則須另外設定),作為轉介的跳板,供 你與受限制的網路服務聯繫。 = 我需要準備哪些東西? = 1. 一台至少在你使用的時候不關機,且能正常連接所有服務的電腦。 例如當你要透過公司受限制的網路環境上 MSN,那麼家中的電腦必須可以 正常連上 MSN,而且上班的時候,家中的電腦必須保持開機連線。 2. 免費、開源的 OpenSSH 軟體,本文將以 Windows 版本做說明。 OpenSSH 官方網站:http://www.openssh.com/ OpenSSH for Windows 官方網站:http://sshwindows.sourceforge.net/ 3. 同樣免費、開源的 PuTTY 家族軟體 - Plink PuTTY 官方網站:http://www.chiark.greenend.org.uk/~sgtatham/putty/ 好了,落落長的前言終於結束了,如果你正好有上述的需求,那麼接下來就是 重頭戲的部分。將以盡量簡單的方式,一步一步教大家如何安裝設定。 = OpenSSH for Windows 安裝篇 = OpenSSH Server 必須安裝於不受限制、可正常上網的電腦上。建議用家中常用的電腦。 OpenSSH for Windows 最新的版本,是 2004 年公開的 3.8p1-1 版。 下載點:http://preview.tinyurl.com/yh3txt9 ,預覽原網址確認無誤後, 請按下 Proceed to this site. 開始下載,或至官方網站自行尋找下載點。 下載的檔案為一 zip 壓縮檔,解壓縮後可得單一的安裝程式執行檔。安裝過程中 並沒有什麼需要注意的地方,一律只要下一步、確定,就可以完成安裝了。 安裝完畢後,有幾個地方需要手動設定。 請用記事本開啟 C:\Program Files\OpenSSH\etc\sshd_config 這個檔案, * 找到 #Port 22 這段,並將之修改為 Port 443,別忘了要拿掉前面的 # 喔。 * 找到 #AllowTcpForwarding yes 這段,將前面的 # 去掉。 修改完畢之後,請對照下圖紅筆框住的部分再次確認,然後存檔退出。 接著,我們要設定用來登入的帳號密碼。基於安全性的考量,用來登入的帳號密碼 是與 Windows 系統本身連動的。所以你必須至少有一個有密碼保護的 Windows 登 入帳號。為了方便統一解說,在此建議大家創立一個新帳戶專供 OpenSSH 使用。 請執行「控制台 / 使用者帳戶」,按下「建立新的帳戶」 輸入 ssh 作為帳戶的名稱、下一步 直接按下「建立帳戶」做最後確認 回到使用者帳戶的畫面後,會看到剛剛建立的帳戶名稱 ssh,點進去 按下「建立密碼」 輸入密碼並再次確認後,按下「建立密碼」 建立好 Windows 帳號後,接下來就是要將這組帳號密碼設定給 OpenSSH Server 使用。 這部分要在「命令提示字元」下進行, 因此,請先執行「開始 / 程式集 / 附屬應用程式 / 命令提示字元」。 接著,分別鍵入以下指令: cd C:\Program Files\OpenSSH\bin mkgroup.exe -l >> ..\etc\group mkpasswd.exe -l -u ssh >> ..\etc\passwd 打完每一行指令完成之後,請記得按下 Enter 喔。 完成之後,看到的畫面大概是像下圖這樣,請確認是否有不正常的錯誤訊息。 最後,只要再啟動這個服務,跳板的安裝就算完成。請執行 「控制台 / 系統管理工具 / 服務」,找到 OpenSSH Server 這個項目, 在這個項目上按滑鼠右鍵、選擇「啟動」,這樣就可以啟動 OpenSSH 服務了。 如果以上流程都沒有出錯,現在跳板已經可以正式運作囉。 為了保險起見,我們先自己做個簡單的測試。請下載 PuTTY 這個程式: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe 下載之後執行,分別在 Host Name 填入 127.0.0.1Port 填入 443, 然後按下 Open。如下圖: 若出現安全性警告,按下「是」就可以了。 一切順利的話,你會看到一個類似命令提示字元的畫面,右上角寫著「login as:」。 請用 ssh 這個帳號名稱以及你設定的密碼登入(輸入密碼時螢幕上並不會顯示出來), 順利的話應該會看到如下的畫面,表示 OpenSSH Server 已經可以正常工作了。 到此,OpenSSH 的安裝已經完成,但是別忘了,我們還要記得這台作為跳板的 電腦的 IP,否則到了公司或學校,就沒辦法連回來囉。 取得真實 IP 的方法有很多,在這邊提供一個最簡單的,請上 http://www.myip.com.tw/ 網站,網頁上就會清楚告訴你目前使用的 IP 是多少。 以上部分是跳板的架設流程;以下則是在受限制的電腦上使用跳板的教學。 = Plink 設定篇 = 在家中將 OpenSSH Server 設定妥當,並記下 IP 之後,到了外面,要如何 以這台跳板上網呢?這時候我們需要 PuTTY 家族的 Plink 幫忙,下載點: http://the.earth.li/~sgtatham/putty/latest/x86/plink.exe 下載完畢後,我們要在與 plink.exe 相同的資料夾當中,建立一個批次檔 以方便使用。請先開啟記事本,然後輸入以下內容: @echo off start /b plink.exe -C -N -l ssh -pw 密碼 跳板IP -P 443 -D 1080 -L 23:ptt.cc:23 密碼與跳板 IP 當然請照你自己的實際狀況來填寫,可別完全照抄基於安全的理由,上述內容的紫色部分,可以略過不要輸入。這樣每次使用的時候, 都要手動輸入登入的帳號密碼,比較不容易被其他人盜用。) 存檔的時候,請將檔名設定為 ssh.cmd,還有最重要的是,存檔類型一定要 記得改為「所有檔案」;存檔的位置則必須與 plink.exe 在一起。 存好之後點兩下,如果出現如下的視窗,表示已經順利連接跳板了。 這個視窗請千萬不可以關掉,接下來將告訴大家怎麼使用跳板。 = 跳板應用之一 - 用來上批踢踢 = 請在 PCMan(當然你要用 KKMan 也可以啦,不用再問了)的位址列輸入 127.0.0.1 或是 localhost 進行連線。登入之後,你會發現你的故鄉會是跳板電腦的 IP,而 不是你現在使用的電腦的 IP 喔! = 跳板應用之二 - 用來連上被封鎖的網頁 = 以 IE 為例:請由 IE 上方工具列依次點選 「工具 / 網際網路選項 / 連線 / 區域網路設定」,將 「在您的區域網路使用 Proxy 伺服器」打勾,接著按下旁邊的「進階」。 然後在 Socks 的地方輸入 Proxy 位址為 127.0.0.1、連接埠為 1080。如下圖所示: 以 Firefox 為例:請由 Firefox 上方工具列依次點選「工具 / 選項 / 進階 / 設定」, 選取「手動設定 Proxy」,然後在 SOCKS 主機的部分,分別填寫 127.0.0.11080。 如下圖所示: 設定成功後,可以到 http://www.myip.com.tw/ 網站檢查,會發現顯示的 IP 為 跳板電腦的 IP,而不是目前使用的電腦的 IP。此時可以試著連上被封鎖的網站, 應該就可以正常連線了。 = 跳板應用之三 - 用來登入 MSN = 請由 MSN 主視窗的上方工具列中依次點選「工具 / 選項 / 連線 / 進階設定」, 在 SOCKS 的地方分別填入 127.0.0.11080,然後按下旁邊的測試。 順利的話,應該會出現「成功,您可以連線至 Windows Live Messenger 服務」之類的 訊息。如果原本上不了 MSN,這樣設定之後,應該就可以順利登入囉。 = 其他相關應用 = 除了上述的幾個應用示範之外,對於其他許多不支援 Proxy / SOCKS 伺服器 設定的軟體(如大部分的線上遊戲),還可以去找 SocksCapProxifier 之 類的程式來搭配使用。 本文中並沒有對 Plink 的指令和參數做太多說明,範例中的指令僅供參考, 當然還有很多變化可以玩,有興趣的人就請自己再研究研究囉。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.199.72
CHCOOBOO:圖片的BB Code修掉吧~ 10/23 19:08
那是故意留的,用來測試自動轉寄為圖文版之後的效果,並不是從論壇轉貼的遺跡。 不過也確實會造成在 BBS 上的閱讀不便,讓我再思考一下怎麼處理...@@
ljuber:大推這文章~~ 雖然現在我用openvpn當跳板 10/23 19:31
OpenVPN 一直沒試過,因為下載檔案還要註冊登入,而且似乎沒看到 Windows 版...
phoenixcx:不錯喔 10/23 20:52
ymore:不得不推 讚 10/23 21:41
kewang:這篇大推!!! 10/23 21:48
moonls:有看有推! 雖然我目前用不上~ 10/23 21:52
mshx:我用pptp server當跳板... 10/23 22:38
MikuruXshana:推~ 讚! 10/23 22:42
f5j:執行PuTTY,出現「Network error:Connection refused」 >"< 10/24 02:00
dansy:推好文 不過在公司的話用3G還是比較快XD 10/24 03:42
ljuber:3G 還要另外的錢 用家中現有網路比較省一點XD 10/24 09:00
chang0206:唉,人在大陸,用這種TUNNEL的連線速度都頗不理想... 10/24 15:49
zaknafein:Connection refused +1 10/25 22:27
zaknafein:port 443那段的"#" 也要拿掉..... 10/25 22:30
說明中有拿掉喔,只是沒有特別強調,很抱歉造成你的困擾,我有再改過了。
xvid:提供加密的vpn連線不是更方邊嗎? 10/25 22:50
也許吧?那要來篇教學嗎?推文一句可真輕鬆愉快呀~
tonyhome:「你必須擁有一台完全不受限制的主機」 有風險 危險性 10/27 13:28
tonyhome:萬一被駭就... 10/27 13:29
事實上只要開 OpenSSH 使用的 port 就可以了,況且那不是本文重點, 只是力求簡單說明而已。如果是用軟體防火牆的話,設個例外名單放行就可以了。 至於要說這樣就會被駭,未免把事情想得太容易。
selient:那為甚麼不用遠端桌面 10/28 01:12
請問這跟遠端桌面的關係在?我有哪一句叫你不要用遠端桌面嗎? 我個人懂的是相當有限,還滿希望藉由這樣的教學,拋磚引玉得到更多的經驗 分享與回應。不過目前的情況還真讓人失望啊。指出其他關鍵字的人,我也很 感謝你。至於「xx 不是更好?」或是「為什麼不用 xx?」之類的嘴炮,我想 就免了。對我而言,OpenSSH 跟 PuTTY 的價值,除了有一定的安全性之外,重 要的是免費、開源的精神。光這兩點,我就覺得不比其他選項差。而其他選項 當然也有其價值所在,根本沒有所謂誰好誰壞,有必要這樣殺個有我就沒有你嗎? ※ 編輯: chweng 來自: 140.116.199.72 (10/28 10:04)
ljuber:OpenVpn目前有windows版 網路上有圖文教學 10/28 12:54
ljuber:遠端桌面速度不夠快....... 10/28 15:37
puzi:原po不用這麼氣憤..讓懂得的人去體會吧...感謝分享! 10/30 23:33
xvid:提供個方法而已 吃炸藥阿... 只是單純覺得連vpn很方便 10/31 12:42
好方便的話就發個文教教大家吧!板友都會感謝你的。
selient:不好意思喔原PO是吃什麼炸藥?我也覺得遠端桌面方便 11/01 23:29
selient:我也沒說你的方式不好,有必要回一大串? 11/01 23:30
selient:遠端桌面更是淺顯易懂喔 11/01 23:32
我想請問你,有把「網路被限制」這個前提看清楚嗎? 當網路只剩下 port 80 可以對外時,你確定走 port 3389 的遠端桌面還能用? 不認識字還大聲嚷嚷、犯蠢還再三強調怕別人不知道,果然無知才是力量!
hangea:同校推 不過不用這麼生氣啊@@" 遠端桌面連線速度很不理想吧 11/03 19:17
※ 編輯: chweng 來自: 218.172.101.100 (11/07 07:47)
thieftwo:認真推 11/13 01:30
xvid:VPN有什麼好寫教學的... 安裝精靈按一按就萬事ok... 12/28 23:01