有时您想私下浏览Internet,访问受地理限制的内容或绕过网络可能实施的任何中间防火墙。

一种选择是使用VPN,但这需要在您的计算机上安装客户端软件,然后设置您自己的VPN服务器或订阅VPN服务。

更简单的选择是使用加密的SOCKS代理隧道路由本地网络流量。这样,您所有使用代理的应用程序都将连接到SSH服务器,并且服务器会将所有流量转发到其实际目的地。您的ISP(互联网服务提供商)和其他第三方将无法检查您的流量并阻止您访问网站。

本教程将引导您完成创建加密的SSH隧道以及配置Firefox和 Google Chrome 网络浏览器以使用SOCKS代理的过程。

先决条件

  • 运行任何类型的Linux的服务器,均具有SSH访问权限,可通过SSH路由您的流量。
  • Web浏览器。
  • SSH客户端。

设置SSH tunnel隧道

我们将创建 SSH隧道,该隧道将安全地将流量从端口9090上的本地计算机转发到端口22上的SSH服务器。您可以使用大于1024的任何端口号,只有root才能在特权端口上打开端口。

Linux和macOS

如果您在本地计算机上运行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

Windows用户可以使用PuTTY SSH客户端创建SSH隧道。您可以在此处下载PuTTY

启动并在Host name (or IP address)字段中输入服务器IP地址。

Connection菜单下,展开SSH并选择Tunnels。在Source Port字段中输入端口9090,然后选中Dynamic单选按钮。单击Add按钮。

返回到Session页面以保存设置,因此您不需要每次都输入。在Saved Session字段中输入会话名称,然后单击Save按钮。

选择保存的会话并通过单击Open按钮登录到远程服务器。

将显示一个新窗口,询问您的用户名和密码。输入用户名和密码后,您将登录到服务器并启动SSH隧道。

设置公钥身份验证将使您无需输入即可连接到服务器密码。

配置您的浏览器以使用代理

现在,您已经打开SSH SOCKS隧道,最后一步是配置您的首选浏览器以使用它。

Firefox

以下步骤与Windows,macOS和Linux相同。

  1. 在右上角,单击汉堡包图标以打开Firefox菜单:
  2. 单击⚙ Preferences链接。
  3. 向下滚动到Network Settings​​部分,然后单击Settings...按钮。

将打开一个新窗口。

  • 选择Manual proxy configuration单选按钮。
  • SOCKS Host字段中输入127.0.0.1,在Port字段中输入9090
  • 选中Proxy DNS when using SOCKS v5复选框。
  • 单击OK按钮以保存设置。

至此,您的Firefox已配置完毕,您可以通过SSH隧道浏览Internet。要验证它,您可以打开google.com,键入“ what is my 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"

macOS:

"/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隧道,或创建 Bash别名以建立SSH隧道并启动浏览器。

如果您遇到问题或有反馈,请在下面发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持