明道学苑

学而不思则罔,思而不学则殆

0%

通过SSH Tunnel实现代理上网

本文说明如果通过SSH Tunnel实现代理上网

假设你有一台可以访问互联网的Linux云主机,你可以通过SSH链接到这台主机。你想通过这台云主机代理上网,又不想安装其他乱七八糟的代理软件。可以通过SSH Tunnel实现这个目的。

如果希望需启用用户名/密码方式连接SSH,可以参考Linux Ubuntu服务器允许root用户使用密码通过SSH登陆这篇文章配置SSH支持用户名/密码连接。

设置云主机的SSH端口转发

默认情况下,OpenSSH只允许从服务器主机连接到远程转发端口。然而,服务器配置文件sshdconfig中的gatewayport选项可以用来控制它。以下是可选的配置:

GatewayPorts no

这可以防止连接到服务器计算机外部的转发端口。

使用SSH登陆到你的云主机服务器,使用sudo nano /etc/sshd/sshdconfigGatewayPorts配置做如下修改:

GatewayPorts yes

这将允许任何人连接到转发的端口。如果服务器在公共互联网上,互联网上的任何人都可以连接到端口。

建立SSH Tunnel

使用下面的指令建立SSH Tunnel

ssh -qTfnN -D 8068 root@ip

然后配置代理,代理协议SOCKS5,代理服务器只想127.0.0.1,端口8068。就可以通过这个新建的SSH Tunnel代理上网了。

别忘了设置云主机防火墙对应8068端口的访问权限。