在外出差、休假時(shí),總要上網(wǎng)處理工作和郵件,或者查詢(xún)一些訊息。如果沒(méi)有公司VPN,又不想花很多錢(qián),是否還能確保無(wú)線上網(wǎng)行為的安全呢?跟我學(xué),試著打造自己的安全Web隧道吧,你也可以擁有專(zhuān)有、安全的加密互聯(lián)網(wǎng)連接。
不管你上網(wǎng)用的公共無(wú)線
網(wǎng)絡(luò)是受密碼保護(hù)的,還是按分鐘收費(fèi)的,連接至該網(wǎng)絡(luò)的人(餐館里的其他顧客、候機(jī)大廳的乘客,或者其他付費(fèi)用戶(hù))都能偷窺到你的HTTP流量。
需要建立一條加密隧道,來(lái)解決這個(gè)問(wèn)題:可以通過(guò)加密隧道,發(fā)送以自己的筆記本電腦為起點(diǎn)、以某個(gè)已知位置(隧道“端點(diǎn)”)為終點(diǎn)的Web流量。隧道可以把你的Web請(qǐng)求轉(zhuǎn)發(fā)到公共互聯(lián)網(wǎng)。當(dāng)然,一旦流量在隧道外面?zhèn)魉停ǔ?赡軙?huì)受到互聯(lián)網(wǎng)服務(wù)提供商(ISP)或執(zhí)法部門(mén)等有關(guān)方的審查; 但是當(dāng)你的數(shù)據(jù)通過(guò)公共Wi-Fi熱點(diǎn)來(lái)傳送時(shí),就可以安全地上網(wǎng)沖浪。
第1步:通過(guò)SSH實(shí)現(xiàn)簡(jiǎn)單、低成本的安全連接
要建立自己的安全Web隧道,最簡(jiǎn)單的辦法就是向主機(jī)提供商支付月費(fèi),由其處理所有的復(fù)雜工作:獲得服務(wù)器、安裝操作系統(tǒng)、確保服務(wù)器每天24小時(shí)保持在線,而且有可靠的備用電源。采用這種方法,你不必為家里自行安裝任何防火墻而操心,外出時(shí)也不必讓電腦繼續(xù)運(yùn)行。
很多共享主機(jī)提供商都能提供訪問(wèn)安全外殼(SSH)服務(wù)器的服務(wù)。以HostGator為例,該公司基本的Hatchling主機(jī)方案每月收費(fèi)約5美元,也就是說(shuō),每天只要花幾毛錢(qián),就能通過(guò)該公司的服務(wù)擁有自己的安全隧道。一旦在HostGator建立了賬戶(hù),你就可以收到登錄信息和指定服務(wù)器。之后,只要發(fā)出SSH命令,就可以建立臨時(shí)的Web代理系統(tǒng)。
第2步:獲得SSH
客戶(hù)端軟件
OS X隨帶命令行SSH客戶(hù)端軟件,所以只需打開(kāi)Terminal(位于Application文件夾下的Utilities文件夾里),你會(huì)看到帶用戶(hù)名和電腦名稱(chēng)的命令行提示(跟在$符號(hào)后面,下文提到的所有命令前面都要輸入這個(gè)符號(hào))。
在Windows機(jī)器上,需要下載SSH客戶(hù)端軟件。這方面的選擇很多,目前流行的免費(fèi)客戶(hù)端軟件是PuTTY。
第3步:
測(cè)試SSH服務(wù)器
使用主機(jī)提供商提供的登錄信息,就可以在OS X上建立SSH會(huì)話,只要在$符號(hào)后面輸入下列字符:
$ ssh username@server.websitewelcome.com
在Windows機(jī)器上,開(kāi)啟PuTTY,輸入主機(jī)提供商提供的服務(wù)器名。選擇Protocol下面的SSH單選按鈕。Port字段應(yīng)設(shè)成22(默認(rèn)的SSH端口)。然后點(diǎn)擊Open按鈕。
由于是第一次連接至該服務(wù)器,OS X的客戶(hù)端軟件和PuTTY都會(huì)顯示提醒信息,提示核實(shí)主機(jī)指紋(這個(gè)提示應(yīng)該只出現(xiàn)一次,之后,SSH客戶(hù)端軟件會(huì)核實(shí)指紋沒(méi)有變化。要是指紋有變,可能表明你的連接已被篡改)。你會(huì)看到類(lèi)似下面的文本:
The authenticity of host “server.websitewelcome.com” can't be established. RSA key fingerprint is 11:22:33:44:55.
(無(wú)法確定主機(jī)“server.websitewelcome.com”的真實(shí)性。RSA密鑰指紋是11:22:33:44:55。)
Are you sure you want to continue connecting? Yes
(你確信要繼續(xù)連接嗎?是的)
一旦核實(shí)了指紋,PuTTY會(huì)提示輸入用戶(hù)名和密碼。OS X會(huì)提示只需要輸入密碼,因?yàn)槟阋呀?jīng)在命令行上提供了用戶(hù)名。
登錄后,會(huì)看到表明現(xiàn)已連接至遠(yuǎn)程服務(wù)器的命令行的一個(gè)提示。注意:$之前的服務(wù)器名已有變化,以體現(xiàn)遠(yuǎn)程系統(tǒng):
login as: username
Using keyboard-interactive authentication.
Password: ……
Last login: Fri Jan 01 02:03:04 2010 from 1.2.3.4
username@server $
現(xiàn)在你已確定有一臺(tái)正常工作的SSH服務(wù)器,下面可以繼續(xù)建立隧道了。輸入命令exit,即可關(guān)閉SSH會(huì)話。
第4步:本地監(jiān)聽(tīng)端口和遠(yuǎn)程端點(diǎn)
你需要在本地電腦上配置一個(gè)端口(本地監(jiān)聽(tīng)端口),接收你發(fā)給它的任何數(shù)據(jù)包,然后發(fā)送到SSH加密會(huì)話。在隧道另一端,流量會(huì)在SSH服務(wù)器上倒出來(lái)。下面介紹如何配置Web瀏覽器,以便代理經(jīng)過(guò)該本地監(jiān)聽(tīng)端口的流量。盡管從概念上來(lái)看,你似乎想把Web瀏覽器指向遠(yuǎn)程服務(wù)器,但實(shí)際上你是把它指向“本地主機(jī)”(localhost),這是你本地電腦的特殊名稱(chēng)。
你要告訴SSH客戶(hù)端連接至SSH服務(wù)器,建立一條以使用端口8888的筆記本電腦(localhost)為起點(diǎn)、以SSH服務(wù)器為終點(diǎn)的隧道,然后數(shù)據(jù)會(huì)轉(zhuǎn)發(fā)到最終目的地網(wǎng)站。
第5步:
建立SSH隧道
在OS X上,這個(gè)過(guò)程簡(jiǎn)單明了,可以用一個(gè)命令來(lái)代表:
$ ssh -ND 8888 username@server.websitewelcome.com
N選項(xiàng)告訴SSH客戶(hù)端,你不想要交互式會(huì)話(命令提示),而只想建立一條隧道。D 8888選項(xiàng)要求SSH客戶(hù)端建立一條“動(dòng)態(tài)的”端口轉(zhuǎn)發(fā)隧道,使用端口8888。之所以要?jiǎng)討B(tài)隧道,是因?yàn)槟康牡鼐W(wǎng)站會(huì)因訪問(wèn)的對(duì)象而發(fā)生變化; 其他端口轉(zhuǎn)發(fā)隧道使用靜態(tài)規(guī)則,但就上網(wǎng)瀏覽而言,你需要?jiǎng)討B(tài)規(guī)則。發(fā)出命令后,系統(tǒng)會(huì)提示你輸入密碼,然后什么動(dòng)靜都沒(méi)有。實(shí)際上,如果命令奏效,這個(gè)端口就會(huì)打開(kāi),但你不會(huì)在Terminal里面收到任何核實(shí)信息。OS X用戶(hù)可以繼續(xù)下一步。
對(duì)Windows用戶(hù)來(lái)說(shuō),再次開(kāi)啟PuTTY,向下翻滾到Connection左邊的Category列表,展開(kāi)SSH類(lèi)別,選擇Tunnels。
再選擇Dynamic單選按鈕,在Source port處輸入8888,然后點(diǎn)擊Add。
現(xiàn)在點(diǎn)擊Open按鈕。輸入密碼后,隧道應(yīng)已建立好。命令提示里面不會(huì)出現(xiàn)核實(shí)消息。
第6步:
試試新隧道
現(xiàn)在可以試一試新隧道了。啟動(dòng)Web瀏覽器,訪問(wèn)What Is My IP Address網(wǎng)站,注意顯示的IP地址。這是你從當(dāng)前位置(家里、單位、學(xué)校或咖啡館)連接時(shí),別人都會(huì)看到的公共IP地址。
一旦你改變了Web代理的設(shè)置,需要回到該網(wǎng)站上,核實(shí)互聯(lián)網(wǎng)相信你是從你的SSH服務(wù)器來(lái)訪問(wèn)的,核實(shí)你在安全上網(wǎng)瀏覽,沒(méi)有其他Wi-Fi熱點(diǎn)用戶(hù)在竊聽(tīng)。
IE用戶(hù)應(yīng)進(jìn)入到Tools菜單,選擇Internet Options。從該對(duì)話框中選擇Connections選項(xiàng)卡(左起第五個(gè)),點(diǎn)擊底部的LAN Settings按鈕。在這個(gè)彈出對(duì)話框中,選擇Use a proxy server for your LAN旁邊的復(fù)選框?,F(xiàn)在點(diǎn)擊Advanced。在'SOCKS'旁邊輸入localhost作為地址,輸入8888作為端口; 其他所有字段都空著。點(diǎn)擊“OK”三次,再次進(jìn)入到What Is My IP Address網(wǎng)站。你的IP地址現(xiàn)在應(yīng)體現(xiàn)SSH服務(wù)器的地址。
Windows平臺(tái)上的Mozilla Firefox用戶(hù)應(yīng)進(jìn)入到Tools菜單,選擇Options; OS X Firefox用戶(hù)應(yīng)進(jìn)入到Firefox菜單,選擇Preferences。之后,任何一種平臺(tái)的用戶(hù)應(yīng)選擇Advanced類(lèi)別(齒輪圖標(biāo)),然后選擇Network選項(xiàng)卡(左起第二個(gè)),點(diǎn)擊Settings按鈕。
選擇Manual Proxy Configuration。在'SOCKS Host'旁邊輸入localhost作為地址,輸入8888作為端口; 其他所有字段都空著。如果SOCKS5單選按鈕還沒(méi)有選中,請(qǐng)選中。在Windows上,OK點(diǎn)擊兩次; 在OS X上,只要關(guān)閉兩個(gè)參數(shù)設(shè)置窗口。再次訪問(wèn)What Is My IP Address。你的IP地址現(xiàn)在應(yīng)體現(xiàn)SSH服務(wù)器的地址。
OS X 系統(tǒng)上的Safari用戶(hù)應(yīng)進(jìn)入到Safari菜單,選擇Preferences。選擇Advanced類(lèi)別(齒輪圖標(biāo)),然后選擇Proxies旁邊的Change Settings按鈕。這會(huì)打開(kāi)當(dāng)前網(wǎng)絡(luò)連接的System Preferences。在Proxies選項(xiàng)卡上,選中SOCKS Proxy旁邊的復(fù)選框,然后輸入localhost作為地址,輸入8888作為端口。點(diǎn)擊OK和應(yīng)用,然后關(guān)閉System Preferences。再次訪問(wèn)What Is My IP Address。你的IP地址現(xiàn)在應(yīng)該體現(xiàn)SSH服務(wù)器的地址。
第7步:運(yùn)行你的SSH服務(wù)器
要是不想每月付費(fèi)給主機(jī)提供商,該怎么辦呢?你可以運(yùn)行自己的SSH服務(wù)器。但這種方法并不適合每個(gè)人—除非你覺(jué)得前面的部分很容易理解,否則不要繼續(xù)以下步驟。OS X用戶(hù)很幸運(yùn):SSH服務(wù)器內(nèi)置在操作系統(tǒng)中。只要打開(kāi)System Preferences,再打開(kāi)Sharing類(lèi)別。在Services選項(xiàng)卡下,選擇Remote Login旁邊的復(fù)選框(又叫SSH服務(wù)器),就搞定了!
而對(duì)Windows用戶(hù)來(lái)說(shuō),有許多免費(fèi)及廉價(jià)的SSH服務(wù)器可以使用。運(yùn)行安裝程序,選擇Personal Edition(若是公司用戶(hù),Standard Edition是一個(gè)非常好的低成本選擇)。安裝完成后,控制面板會(huì)載入,顯示Easy Settings向?qū)С绦?。采用所有默認(rèn)值,點(diǎn)擊用藍(lán)色高亮顯示的Start WinSSHD鏈接,即可開(kāi)啟SSH服務(wù)器。
第8步:
測(cè)試SSH服務(wù)器
下一步是測(cè)試SSH服務(wù)器,需要用到前面介紹過(guò)的一些命令。
OS X用戶(hù)應(yīng)輸入下列命令:
$ ssh username@localhost
Windows用戶(hù)應(yīng)開(kāi)啟PuTTY,輸入localhost作為服務(wù)器地址??梢允褂糜脕?lái)登錄到筆記本電腦的自有密碼。記住:這是一條新的連接,所以可能會(huì)看到核實(shí)指紋的提示。如果沒(méi)有通過(guò)核實(shí),仔細(xì)檢查防火墻或其他安全軟件。
接下來(lái),試著從外部連回到你的SSH服務(wù)器。在本地電腦上建立一個(gè)測(cè)試賬戶(hù),請(qǐng)朋友使用該測(cè)試賬戶(hù)的密碼來(lái)測(cè)試連接。
現(xiàn)在你明白了當(dāng)連接至公共Wi-Fi熱點(diǎn)上時(shí),使用安全隧道來(lái)上網(wǎng)瀏覽有多么容易——那么,以后千萬(wàn)不要再在毫無(wú)防備的情況下就去上網(wǎng)沖浪嘍!