ssh 端口转发
1.ssh端口转发--本地转发
ssh -L 127.0.0.1:10000:192.168.10.10:20000 -N -f username@192.168.10.2
参数说明:
-L 创建本地端口转发
-f 提示 ssh在后台运行
-N 提示 ssh 不要登录远程服务器
上面就是,将本地的10000端口通过192.168.10.2 转发到192.168.10.10的20000端口上
接下来,访问本地的10000端口,实际上就是访问的远程主机的20000端口了
2.ssh端口转发--远程转发
ssh -R 8080:127.0.0.1:3000 -N -f username@192.168.10.2
参数说明:
-R 创建远程端口转发
这个时候,当有人访问192.168.10.2的时候,就会通过转发,实际上访问的是你本机的3000端口了
Ps: 设置远程端口转发遇到问题时,需要看ssh服务器配置中的 GatewayPorts 设置为 yes.
3.ssh端口转发--动态转发
ssh -D 3000 username@192.168.10.2 -N
参数说明:
-D 创建动态转发,也就是隧道
这个时候,访问本地的3000端口,实际上,就是通过192.168.10.2 进行访问的
这种转发采用了SOCKS5,需要把HTTP请求转发成SOCKS5协议
举个栗子:
curl -x socks5://localhost:3000 http://www.example.com
请求被代理了,实际上访问example.com使用的是192.168.10.2