• 展开微博窗口
  • QQ:52619941
  • 微信:cnmemory
  • 展开分类目录
  • 还没有账号?

Memory

利用ssh tunnel进行socks5代理

为了从本地浏览器能够直接访问公司内网的web,我们需要额外的vpn代理或者其他方式代理。经过查阅资料,找到一种比较快速的方案,即通过ssh隧道和socks5代理实现访问公司内网项目,前提是跳板机能通过外网访问,并且支持ssh方式登录。

开启支持socks5协议的ssh隧道

ssh -D 1337 -f -C -q -N user@remote -p 2222
  • -D 表示本地端口转发,当监听到此端口有连接时,此连接中的数据将通过安全隧道转发到server端,目前支持socks4和socks5协议
  • -f 请求ssh在工作在后台模式。该选项隐含了"-n"选项,所以标准输入将变为/dev/null。
  • -C 请求会话间的数据压缩传递。对于网络缓慢的主机,压缩对连接有所提升。但对网络流畅的主机来说,压缩只会更糟糕。
  • -q 静默模式。大多数警告信息将不输出。
  • -N 明确表示不执行远程命令。仅作端口转发时比较有用。

-p 指明端口号,如果是默认22端口,可以省略该参数

这样就完成了socks5代理的建立,如果使用的是chrome浏览器,可以通过Proxy SwitchyOmega插件进行socks5代理的配置,当然chrome提供了内置的Command Line Switchs,可以直接通过命令行启用socks5调试功能,以MacOS下为例:

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ 
$ --proxy-server="socks5://127.0.0.1:1337" \
$ --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

参考文章

SOCKS5 proxy with ssh tunnel and chrome in OSX

码字很辛苦,转载请注明来自雨林寒舍《利用ssh tunnel进行socks5代理》

评论