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

posted @ 2021-08-09 19:30  第一夫人  阅读(6837)  评论(0编辑  收藏  举报