SSH -L参数使用详解

264 阅读1分钟
ssh -L 2095:127.0.0.1:2095 mark@123.1.2.3

1. 基础命令

  • ssh:开启一个 SSH 连接。
  • mark@123.1.2.3:表示要用用户名 mark 登录远端主机,IP 地址是 123.1.2.3

2. -L 参数 (本地端口转发)

写法:

-L [本地端口]:[远程目标主机]:[远程端口]

意思是:把本机某个端口的流量,通过 SSH 隧道转发到远程主机,然后再由远程主机访问指定目标。

在你的命令中:

-L 2095:127.0.0.1:2095

代表:

  • 本地端口2095
  • 远程目标主机127.0.0.1(这里的 127.0.0.1 是相对远程主机而言,不是你本机的 127.0.0.1
  • 远程目标端口2095

3. 整体效果

当你在 本地 访问 localhost:2095 时:

  1. 这个连接先通过 SSH 隧道 传送到远端服务器 123.1.2.3
  2. 然后远端服务器用自己的 127.0.0.1:2095 去请求实际服务。
  3. 最后的响应再通过 SSH 隧道返回给你。

4. 使用场景

这个命令的意义通常包括:

  • 在远程服务器上有一个服务(监听在 127.0.0.1:2095),外网无法直接访问。
  • 通过这个 SSH 本地转发,你“映射”出一个隧道,使得你在本机访问 localhost:2095 就等价于访问远程服务器内部的 127.0.0.1:2095
  • 常用于访问远程数据库(如 MySQL/PostgreSQL)、Web 服务、管理接口,而无须直接暴露服务到公网。

简单理解:
👉 相当于在你本地“开了个暗门”,通向远程服务器内部的某个端口。


image.png