Linux使用SSH命令创建SOCKS5代理,并设置浏览器代理连接测试
首先,你要拥有两台可以操控的Linux服务器,并且能连通互联网!
HostA:本地服务器,可以上国内网络,也能上香港网络
HostB:以香港ECS服务器为例,可以上国内网络,也可以上海外网络
在 HostA 的本地 1080 端口启动一个 socks5 服务,通过本地 socks5 代理的数据会通过 ssh 链接先发送给 HostB,再从 HostB 转发送给远程主机,执行命令如下:
ssh -D 0.0.0.0:1080 HostB
为了更好用一点,ssh 后面还可以加上:-CqTnN
参数,比如:
ssh -CqTnN -D 0.0.0.0:PortA:HostC:PortC user@HostB
其中 -C
为压缩数据,-q
安静模式,-T
禁止远程分配终端,-n
关闭标准输入,-N
不执行远程命令。此外视需要还可以增加 -f
参数,把 ssh 放到后台运行。这些 ssh 代理没有短线重连功能,链接断了命令就退出了,所以需要些脚本监控重启,或者使用 autossh 之类的工具保持链接。
那么在 HostA 上面,浏览器配置 socks5 代理为 127.0.0.1:1080,看网页时就能把数据通过 HostB 代理出去,类似 ss/ssr 版本,只不过用 ssh 来实现。
这里其实更多的情况是很多浏览器客户端通过代理工具(插件)去连接HostA,然后在浏览器上访问需要访问的网址,就能看到效果了。
关于浏览器代理插件,这里推荐一个SwitchyOmega,这个插件基本各大浏览器扩展中心都能下载到,配置截图如下:
代理协议:选择SOCKS5
代理服务器:填写HostA的ip地址
代理端口:填写设置的端口
设置好了之后,保存,并启用,访问谷歌搜索成功
更多SSH代理技巧,请查看:https://zhuanlan.zhihu.com/p/57630633