如何为私人浏览设置SSH SOCKS隧道

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

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

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

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

先决条件

  • 运行任何版本Linux的服务器,具有SSH访问权限,可通过它路由您的流量。
  • 网页浏览器。
  • SSH客户端。

设置SSH隧道#

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

Linux和macOS#

如果您在本地计算机上运行Linux,macOS或任何其他基于Unix的操作系统,则可以使用以下命令轻松启动SSH隧道 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。

  1. 启动Putty,然后在 Host name (or IP address) 领域。

  2. 在下面 Connection 菜单,展开 SSH 然后选择 Tunnels。 输入端口 9090 在里面 Source Port 字段,然后检查 Dynamic 单选按钮。

    配置隧道腻子

  3. 点击 Add 按钮,如下图所示。

    添加隧道腻子

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

    保存会话腻子

  5. 选择已保存的会话,然后通过单击登录到远程服务器。 Open 按钮。

    公开会议腻子

    将出现一个新窗口,要求您输入用户名和密码。 输入用户名和密码后,您将登录到服务器并启动SSH隧道。

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

配置浏览器以使用代理#

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

火狐浏览器

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

  1. 在右上角,点击汉堡包图标 打开Firefox的菜单:

  2. 点击 ⚙ Preferences 链接。

  3. 向下滚动到 Network Settings 部分,然后单击 Settings... 按钮。

  4. 将打开一个新窗口。

    • 选择 Manual proxy configuration 单选按钮。
    • 输入 127.0.0.1 在里面 SOCKS Host 场和 9090 在里面 Port 领域。
    • 检查 Proxy DNS when using SOCKS v5 复选框。
    • 点击 OK 按钮保存设置。

    Firefox SSH代理

至此,您的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)GoogleChromeApplicationchrome.exe" ^
    --user-data-dir="%USERPROFILE%proxy-profile" ^
    --proxy-server="socks5://localhost:9090"

如果配置文件不存在,将自动创建。 这样,您可以同时运行多个Chrome实例。

要确认SSH隧道正常运行,请打开 google.com,然后输入“我的IP是什么”。 浏览器中显示的IP应该是服务器的IP地址。

结论#

您已经了解了如何设置SSH SOCKS 5隧道以及如何配置浏览器以私下和匿名方式访问Internet。 为了易于使用,您可以在SSH配置文件中定义SSH隧道,或创建Bash别名以设置SSH隧道并启动浏览器。

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

SSH安全

Sidebar