SSH Tunnel用法简介

国内网络环境下,内网穿透一直是一个问题。相比于Ngrok,FRP,Mr2,Pagekite等第三方工具,其实Linux日常用到的SSH就有端口映射功能。

1. 远程服务器端口映射到本地

$ ssh -L localport:remoteip:remoteport [SSH连接字符串]

2. 本地端口映射到远程

$ ssh -R remoteport:localhost:localip [SSH连接字符串]

前提是需要先在服务器的/etc/ssh/sshd_config中将配置项GatewayPorts改为yes,默认为no。这个选项的作用是映射到远程机器上哪些网卡的remoteport,当GatewayPorts为no时,仅映射到远程服务器的环回网卡的remoteport上;yes时映射到所有网卡;还可取值为clientspecified,此时可以通过

$ ssh -R remoteip:remoteport:localhost:localip

方式使用remoteip执行远程服务器的对应网卡。

3. -f和-N参数

这两个ssh的参数在映射端口时很实用。-f使得SSH客户端在后台运行,-N告知SSh这个连接不需要执行任何命令,不会出现remote shell。这两个参数常在端口映射时加上。

此处评论已关闭