使用SSH动态端口转发绕过中国防火墙

动态端口转发可用于绕过中国的大型防火墙或任何其他防火墙或Internet过滤系统。 在本教程中,我们将研究如何使用两个SSH客户端(OpenSSH客户端和PuTTY)创建具有动态端口转发功能的安全SSH隧道。

要遵循本教程,您将需要具有运行OpenSSH服务器守护程序的自己的Linux服务器。 您可以以每月5美元的价格从Digital Ocean租用良好的VPS。

让我们从OpenSSH SSH客户端开始。

使用OpenSSH SSH客户端进行动态端口转发

几乎每个Linux发行版都随附有OpenSSH SSH客户端。 以下命令将您连接到远程SSH服务器,并同时启用动态端口转发。

ssh -D port-number [email protected]

如果远程SSH服务器12.34.56.78上有用户john,则可以运行:

ssh -D 1080 [email protected]

输入用户john的密码。 -D 选项启用动态端口转发。 1080是通用端口。 您也可以使用其他端口,例如8080。

运行此命令后,将在Linux PC和SSH服务器之间建立具有动态端口转发功能的安全SSH隧道。 ssh客户端将作为本地SOCKS代理服务器侦听127.0.0.1:1080。 你可以用

sudo netstat -lnpt

通过SSH隧道引导浏览器流量

现在,在Firefox浏览器中,转到 Preferences > Advanced > Network > Settings

火狐网络设置

选择手动代理配置。 在“ SOCKS主机”字段中输入127.0.0.1,然后输入1080作为端口号。 检查SOCKS v5和远程DNS。 点击确定按钮。

firefox代理设置

如果不选中“远程DNS”,则不会通过隧道传输DNS流量。

现在访问https://www.whatismyip.com。 您会发现您的IP是SSH服务器的IP。 您已经成功绕过了防火墙,可以自由浏览Internet。

如果确实如此,所有具有SOCKS代理支持的程序都可以使用此SSH隧道隐藏真实IP地址。

如果您的网络速度较慢,则可以使用 -C 加快连接速度的选项,如下所示:

ssh -C -D 1080 [email protected]

PuTTY SSH客户端的动态端口转发

PuTTY SSH客户端还支持动态端口转发。 在Debian / Ubuntu上,可以通过以下方式安装PuTTY:

sudo apt-get install putty

打开PuTTY SSH客户端,选择 SSH > Tunnels 在左窗格中。 然后在右侧窗格中,输入源端口,例如1080。选择“动态”作为端口转发的类型,然后单击“确定”。 Add 按钮。

PuTTY Dynamica端口转发

然后单击左侧窗格上的会话,在主机名字段中输入服务器的IP。 在“保存会话”字段中,为此会话输入一个名称,例如DPF(动态端口转发),然后单击“保存”按钮。

PuTTY配置_006

然后输入您的用户名和密码以连接到SSH服务器。 将创建具有动态端口转发的SSH隧道,PuTTY将在充当本地SOCKS代理服务器的127.0.0.1:1080上进行侦听。 使用以下命令检查计算机上的侦听端口 netstat 命令:

sudo netstat -lnpt

油灰袜子代理

现在,您所需要做的就是通过此SSH隧道引导浏览器的流量。

SSH隧道中的所有流量均已加密。 如果您使用的是不安全的公共Wi-fi,则可以考虑使用SSH动态端口转发来加密所有流量。

请注意,当SSH会话结束时,SOCKS代理将停止工作。

总是欢迎提出意见,问题或建议。 如果您认为这篇文章很有用,? 在社交媒体上与您的朋友分享! 请继续关注更多Linux教程。

Sidebar