ssh端口转发

看了下自己以前的笔记发现也没有完全搞清楚,
网上好多文章都是抄来抄去,远程端口转发全都是拿127.0.0.1举例
总结了下,三句话就可以讲清楚了
 
1 ssh本地端口转发是 把ssh服务器可以访问到的端口转发到ssh客户端上的一个端口
2 远程端口转发是 把ssh客户端可以访问到的端口转发到ssh服务器上的一个端口
3 ssh动态端口转发是 在ssh客户端上开个socks5代理访问ssh服务器能访问到的端口
 
假如有 a b c
b是ssh服务器 
 
1 ssh本地端口转发
效果: 把ssh服务器可以访问到的端口转发到ssh客户端上的一个端口
a执行 ssh -L 9999:c:80 -N -T user@b   
a访问自己的9999就相当于访问c的80
 
2 远程端口转发
效果: 把ssh客户端可以访问到的端口转发到ssh服务器上的一个端口
a执行 ssh -R 9999:c:80 -N -T user@b -o GatewayPorts=yes
b访问自己的9999就相当于访问c的80
-o GatewayPorts=yes 会监听0.0.0.0
 
3 ssh动态端口转发
效果:在ssh客户端上开个socks5代理访问ssh服务器能访问到的端口
a执行 ssh -D 9999 user@b  
 
 
openssh 7.6之后加入了反向动态端口转发
client -> server
会在server上开个监听端口,流量导到client
ssh -f -N -R 1080 -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -i /var/lib/mysql/.ssh/id_rsakali@10.10.10.10
posted @ 2020-01-02 15:10  君莫笑hhhhhh  阅读(410)  评论(0编辑  收藏  举报