SSH建立SOCKS代理

因工作环境与服务器不在同一局域网下,为了安全性,不公开内部端口,因此需要进行外网对局域网的服务进行访问,我的ssh账号拥有shell权限,可以建立SSH Tunnel。

以下是代理SSH的步骤:

打开Terminal

1
ssh -D 7070 test@test.com

-D 7070 表示在本地开通一个SOCKS代理,监听的端口号是7070
test@test.com 表示远程服务器用户名@域名或IP

维持ssh连接

1
top

或者修改本地配置文件

1
sudo vi ~/.ssh/_config

添加两行

1
2
ServerAliveInterval 120
TCPKeepAlive no

注意,这个Terminal不能关闭,否则ssh tunnel会关闭。

修改本地网络代理

System Preferences -> Network 中选择当前连接,点击Advanced。

切换到Proxies,选择SOCKS Proxy Server,host填写localhost,端口号改为7070,并勾选SOCKS Proxy的CheckBox即可。

结尾

这里直接开启的是全局代理,经测试在代码中进行GET/POST请求也能得到结果了,不需要在代码中进行代理,不过需要注意的是,当你使用localhost和127.0.0.1的时候是不会访问服务器上的内容的,需要使用服务器的局域网IP来进行访问。

Fiveplus wechat
扫一扫上方二维码,关注微信公众号:阿五编程
如果这篇文章对你有所帮助,请点击下方的打赏按钮。