为了安全起见,公司或者是学校的服务器一般只允许用户在局域网内登录,离开内网环境后就没法登录服务器,特别不方便。但是在某些情况下,我们又想和服务器进行通信的话,就需要借助端口转发来达到目的。
ssh是一种安全的传输协议,通常我们会用在连接服务器上比较多。不过除了这个功能以外,ssh的隧道转发功能更吸引人。
ssh常用命令参数
-
-C 请求压缩所有数据
-
-f 告诉ssh客户端在后台运行
-
-N 告诉ssh客户端,这个连接不需要执行任何命令,仅仅做端口转发
-
-g 默认这个LocalPort端口只允许本机连接,可以通过这个参数允许别的机器连接这个端口
ssh三种代理功能
-
正向代理(-L):相当于 iptable 的 port forwarding
-
反向代理(-R):相当于 frp 或者 ngrok
-
socks5 代理(-D):相当于 ss/ssr
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_por