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 时:
- 这个连接先通过 SSH 隧道 传送到远端服务器
123.1.2.3。 - 然后远端服务器用自己的
127.0.0.1:2095去请求实际服务。 - 最后的响应再通过 SSH 隧道返回给你。
4. 使用场景
这个命令的意义通常包括:
- 在远程服务器上有一个服务(监听在
127.0.0.1:2095),外网无法直接访问。 - 通过这个 SSH 本地转发,你“映射”出一个隧道,使得你在本机访问
localhost:2095就等价于访问远程服务器内部的127.0.0.1:2095。 - 常用于访问远程数据库(如 MySQL/PostgreSQL)、Web 服务、管理接口,而无须直接暴露服务到公网。
简单理解:
👉 相当于在你本地“开了个暗门”,通向远程服务器内部的某个端口。