主要三个命令
ssh -C -f -N -g -L local_ip:local_port:remote_ip:remote_port user@remoteip
ssh -C -f -N -g -R remote_ip:remote_port:local_ip:local_port user@remoteip
ssh -C -f -N -g -D local_port user@remote_ip
参数的解释:
-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-L local_port:remote_ip:remote_port
将本地的某个端口转发到远程端口. 工作原理是 本地机器上分配了一个 socket 侦听端口, 一旦本地的这个端口上有了连接, 该连接就经过安全通道转发出去, 同时与远程的主机和对应的端口建立连接.
-R local_port:remote_ip:remote_port
将远程主机的某个端口转发到本地端口. 工作原理是远程主机上分配了一个 socket 侦听端口, 一旦远程的这个端口上有了连接, 该连接就经过安全通道转发到本地, 同时本地主机和远程服务器端口建立连接.
-D port
开启Socks代理模式,工作原理是本地机器上分配了一个 socket 侦听端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去。目前支持 SOCKS4 协议。
-C Enable compression.
压缩数据传输。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接