远程映射
python3 -m http.server 9191 # localhost
ssh -NR 9191:127.0.0.1:9191 root@b
参数解释:-N代表不实际产生shell
-R 代表端口映射的方向: reverse
此时,访问 b 机器的9191端口,本地机器9191会自动有数据送入,本地9191需要有程序在侦听。
本地映射
ssh -NL 127.0.0.1:3310:10.1.2.3:3306 root@b
在本地侦听断开3310,并将数据转发到B可见的机器C(10.1.2.3)的3306端口去
动态映射
动态转发有些特殊,与其叫它转发,不如叫代理更为合适。因为它相当于在两个主机之间建立了一条 SOCKS 代理,本地主机可以使用这条代理来访问远程主机的任何服务,亦或者是使用远程主机的互联网。动态转发通过ssh命令的-D参数指定本地端口。
比如
,SSH 连接后,本地主机的 12345 端口就会变成一条 SOCKS 代理,然后像这样curl -x socks://127.0.0.1:12345 http://127.0.0.1就可以访问远程主机的 Web 服务了。curl -x socks://127.0.0.1:12345 http://mivm.cn,也可以像这样使用远程主机的互联网访问任何服务。