ssh -C -f -N -L listen_port:DST_Host:DST_port user@Tunnel_Host ssh -C -f -N -R listen_port:DST_Host:DST_port user@Tunnel_Host ssh -C -f -N -D listen_port user@Tunnel_Host
-L port:host:hostport #建立本地SSH隧道(本地客户端建立监听端口)将本地机(客户机)的某个端口转发到远端指定机器的指定端口. -R port:host:hostport #建立远程SSH隧道(隧道服务端建立监听端口)将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. # 有本地映射肯定有远程映射,就是把-L换成-R,这样我们访问远程主机的端口就相当于访问本地的端口,但感觉作用不大。-D port 指定一个本地机器 “动态的’’ 应用程序端口转发. -C 压缩数据传输。-N Do not execute a shell or command. 不执行脚本或命令,仅仅做端口转发。通常与-f连用。-f Fork into background after authentication. 后台认证用户/密码,不用登录到远程主机。 远端80端口映射到本地9999端口
本机8080映射到远端 (选择打开ssh中的GatewayPorts yes,则可以映射到远端的0.0.0.0:8799端口上,否则只能绑定到本机127.0.0.1上)
sshpass -p fq@dq ssh -o StrictHostKeyChecking=no -C -f -N -R 52098:localhost:22 root@198.188.2.1 -p 20004 &