在 Linux 下使用 SecureCRT 进行端口映射(端口转发),通常是通过 SSH 隧道(SSH Tunnel) 来实现的。SecureCRT 支持 本地端口转发(Local Forwarding) 和 远程端口转发(Remote Forwarding)。
下面以常见场景为例说明。
一、本地端口映射(Local Port Forwarding)
用途:把本地端口映射到远程服务器能访问的端口
例如:
本地 127.0.0.1:8080 → 远程服务器访问 192.168.1.10:80
操作步骤
- 打开 SecureCRT
- 新建或编辑一个 SSH Session
- 进入:
Session Options → Connection → SSH2 → Port Forwarding
- 点击 Add
- 配置如下:
- Name:自定义(如 local8080)
- Local(本地监听):
- Interface:127.0.0.1
- Port:8080
- Remote(远程目标):
- Hostname:192.168.1.10
- Port:80
- 勾选 Local
- 确定并连接 Session
- 本地访问:
http://127.0.0.1:8080
二、远程端口映射(Remote Port Forwarding)
用途:把远程服务器的端口映射到本地
例如:
远程服务器 0.0.0.0:9000 → 本地 127.0.0.1:22
操作步骤
- Session Options → SSH2 → Port Forwarding
- 点击 Add
- 配置:
- Name:remote9000
- Remote:
- Interface:0.0.0.0(或 127.0.0.1)
- Port:9000
- Local:
- Hostname:127.0.0.1
- Port:22
- 勾选 Remote
- 连接 Session
- 在远程服务器上访问:
telnet 127.0.0.1 9000
三、动态端口映射(SOCKS 代理)
用途:浏览器或程序通过 SecureCRT 走代理
配置
- Port Forwarding → Add
- 选择 Dynamic (SOCKS)
- 本地端口:1080
- 连接后配置浏览器 SOCKS5:127.0.0.1:1080
四、命令行等价示例(理解用)
ssh -L 8080:192.168.1.10:80 user@remote
ssh -R 9000:127.0.0.1:22 user@remote
五、常见问题
- 映射不生效:确认 Session 已连接
- 端口被占用:换本地端口
- 远程无法访问:远程 SSH 需允许
GatewayPorts
如果你有具体场景(如数据库、Web、内网穿透),可以告诉我,我给你精确配置。