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

最后的PS:ssh端口转发,可以设置多级隧道的。A->B->C这样,把多台隧道连起来。

标签: Linux, ssh, 端口转发

评论已关闭