利用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代理》
2019-01-02
开发笔记
评论