企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> 可以通过ssh实现本地端口到远程端口的映射,应用场景如将本地的mysql数据库端口映射成远程服务器的mysql数据库端口,这样本地实际上使用的是远程服务器的mysql服务;或者将外网80端口转发映射到内网80端口等 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实现SSH 端口转发是需要SSH 连接,因此端口转发是在当前会话进行SSh登录之后有效,当前结束会话或者断开SSH连接之后就会失效。而 SSH 连接是有方向的(SSH Client 到 SSH Server),而我们所要访问的应用也是有方向的,应用连接的方向也是从应用的 Client 端连接到应用的 Server 端。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果SSH连接和应用的连接这两个连接的方向一致,就说明是**本地转发到远程**: ``` ssh [-C -f -N -g] -L <local port>:<remote host>:<remote port> <SSH hostname> ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果SSH连接和应用的连接这两个连接的方向不同,那我们就说它是**远程转发到本地**: ``` ssh [-C -f -N -g] -R <local port>:<remote host>:<remote port> <SSH hostname> ``` * -C:压缩数据传输。 * -f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。 * -N :不执行脚本或命令,通常与-f连用。 * -g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。 * -L :本地端口:目标IP:目标端口 * -R:本地端口:目标IP:目标端口 | 命令 | 解析 | | --- | --- | | ssh -L 27017:127.0.0.1:27017 admin@10.60.60.143 | 将发往本地的27017端口访问转发到10.60.60.60.143的27017端口 | | ssh -R 27017:127.0.0.1:27017 admin@10.60.60.143 | 将发往10.60.60.60.143的27017端口访问转发到本地27017端口 |