如何為私有瀏覽設置SSH SOCKS隧道

有時您希望私下瀏覽Internet,訪問受地理限制的內容或繞過網路可能強制執行的任何中間防火牆。

一種選擇是使用VPN,但這需要在您的計算機上安裝客戶端軟體並設置您自己的VPN伺服器或訂閱VPN服務。

更簡單的替代方法是使用加密的SOCKS代理隧道路由本地網路流量。這樣,使用代理的所有應用程序都將連接到SSH伺服器,伺服器會將所有流量轉發到其實際目標。您的ISP(互聯網服務提供商)和其他第三方將無法檢查您的流量並阻止您訪問網站。

本教程將引導您完成創建加密SSH隧道和配置Firefox和Google Chrome Web瀏覽器以使用SOCKS代理的過程。

  • 運行任何Linux版本的伺服器,具有SSH訪問許可權以通過它路由您的流量。
  • 網頁瀏覽器。
  • SSH客戶端。

我們將創建一個SSH隧道,該隧道將安全地將來自本地計算機的埠9090上的流量轉發到埠上的SSH伺服器22。您可以使用大於的任何埠號1024

如果在本地計算機上運行Linux,macOS或任何其他基於Unix的操作系統,則可以使用以下命令輕鬆啟動SSH隧道:

ssh -N -D 9090 [USER]@[SERVER_IP]

複製

使用的選項如下:

  • -N – 告訴SSH不要執行遠程命令。
  • -D 9090 – 在指定的埠號上打開SOCKS隧道。
  • [USER]@[SERVER_IP] – 您的遠程SSH用戶和伺服器IP地址。
  • 要在後台運行該命令,請使用該-f選項。
  • 如果您的SSH伺服器正在偵聽埠22以外的埠(默認埠),請使用該-p [PORT_NUMBER]選項。

運行該命令後,系統將提示您輸入用戶密碼。輸入後,您將登錄到伺服器並建立SSH隧道。

您可以設置基於SSH密鑰的身份驗證,並在不輸入密碼的情況下連接到伺服器。

Windows用戶可以使用PuTTY SSH客戶端創建SSH隧道。你可以在這裡下載PuTTY 。

  1. 啟動Putty並在Host name (or IP address)欄位中輸入您的伺服器IP地址。
  2. Connection菜單下,展開SSH並選擇Tunnels9090Source Port欄位中輸入埠,然後選中Dynamic單選按鈕。
  3. 單擊Add按鈕,如下圖所示。
  4. 返回Session頁面以保存設置,這樣您每次都不需要輸入它們。在Saved Session欄位中輸入會話名稱,然後單擊Save按鈕。
  5. 選擇已保存的會話,然後單擊Open按鈕登錄遠程伺服器。

    將顯示一個詢問您的用戶名和密碼的新窗口。輸入用戶名和密碼後,您將登錄到伺服器並啟動SSH隧道。

    設置公鑰認證將允許您連接玩具伺服器而無需輸入密碼。

現在您已打開SSH SOCKS隧道,最後一步是配置首選瀏覽器以使用它。

對於Windows,macOS和Linux,以下步驟相同。

  • 在右上角,點擊漢堡包圖標打開Firefox的菜單:
  • 單擊⚙ Preferences鏈接。
  • 向下滾動到該Network Settings部分,然後單擊Settings...按鈕。
  • 將打開一個新窗口。
    • 選擇Manual proxy configuration單選按鈕。
    • 輸入127.0.0.1SOCKS Host欄位和9090Port外地。
    • 選中Proxy DNS when using SOCKS v5複選框。
    • 單擊OK按鈕以保存設置。

此時,您的Firefox已配置,您可以通過SSH隧道瀏覽Internet。要驗證它,您可以打開google.com,鍵入「我的IP是什麼」,您應該看到您的伺服器IP地址。

要恢復默認設置,請轉到Network Settings,選擇Use system proxy settings單選按鈕並保存設置。

還有幾個插件可以幫助您配置Firefox的代理設置,如FoxyProxy。

Google Chrome使用默認的系統代理設置。您可以使用插件(如SwitchyOmega)或從命令行啟動Chrome網路瀏覽器,而不是更改操作系統代理設置。

要使用新配置文件和SSH隧道啟動Chrome,請使用以下命令:

Linux:

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="socks5://localhost:9090"

複製

蘋果系統 :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="socks5://localhost:9090"

複製

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="socks5://localhost:9090"

複製

如果配置文件不存在,將自動創建配置文件。這樣,您可以同時運行多個Chrome實例。

要確認SSH隧道是否正常工作,請打開google.com,然後鍵入「what is my ip」。瀏覽器中顯示的IP應該是伺服器的IP地址。

您已學習如何設置SSH SOCKS 5隧道並將瀏覽器配置為私下匿名訪問Internet。為了便於使用,您可以在SSH配置文件中定義SSH隧道,或創建將設置SSH隧道並啟動瀏覽器的Bash別名。