SSH代理¶
SSH有三种代理参数-L,-D,-R
参考
站内链接:
ssh命令 <index-sys>
-L参数在本地监听一个端口,转发数据到远程主机上¶
实例:
$ ssh -NL 3306:localhost:3306 user@remote_ip
说明:
在本地监听一个3306端口,转发到远程主机上的localhost:3306上,等于访问本地的3306端口就相当于访问到了远程的mysql服务
这种方式访问远程服务会更安全,远程服务不需要对外网暴露端口
原理:
这个代理只适用于代理单一ip单一服务的需求有用,本质上是反向代理,客户端不需要额外配置。
-D参数在本地开放一个socks5协议的代理端口¶
在本地开放一个1080的socks5端口,支持socks5协议代理的应用程序就可以利用这个端口直接访问到内网资源:
$ ssh -ND 1080 user@remote_ip
curl使用实例:
curl --socks5 127.0.0.1:1080 localhost
原理:
这个代理本质上是正向代理,可以实现一个代理访问更多服务资源的需求。但是需要客户端本身支持代理。