前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ssh技巧之socks代理

ssh技巧之socks代理

作者头像
KINGYT
发布2019-09-10 15:21:37
6K0
发布2019-09-10 15:21:37
举报

在上一篇文章 ssh技巧之端口转发 中我们讨论了两种端口转发策略,分别是 local port forwarding 和 remote port forwarding,这两种端口转发策略分别是为了解决不同的问题,这个我们在上篇文章中说过,在这里就不详细展开了。

其实ssh还有另外一种端口转发策略,叫做 dynamic port forwarding,使用这种策略,我们可以非常容易的搭建一个socks代理服务器,从而实现访问外国网站。

在我还没有想过要自己实现一个socks代理服务器之前(是的,我又用rust实现了一版socks5代理),有很长一段时间,我用的就是这种方式,这种方式最大的好处就是方便,不用安装任何东西,只要你有一台公网服务器,一条命令就可以搞定。

下面我们来试下:

代码语言:javascript
复制
$ ssh -C -N -D localhost:8000 root@s2

如果该命令没有报错的话,socks代理服务器就算搭建好了,它会监听本机的8000端口,当有代理请求过来时,数据会通过该命令建立的ssh隧道被传到s2服务器的ssh端,s2服务器的ssh端再根据socks协议帮我们将数据转发到对应的目标地址。

下面用firefox浏览器试下该代理是否成功。

我们先要设置firefox使用我们刚刚创建的socks代理:

接下来我们访问Google试下:

bingo! 就这么简单就成功了!

虽然用这种方式搭建的socks代理服务器有各种各样的问题,但它胜在简单、方便,如果临时想要访问某些被屏蔽的国外网站,我觉得应该没有比这个方式更好的了。

上面的命令是在前台运行的,只是为了方便测试,如果想要它在后台一直运行着,可以加个 -f 参数。

有关各个参数的详细意义,可以参考下ssh的man文档。

完。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux内核及JVM底层相关技术研究 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档