无图形化服务器也能 Web 配置?SSH 端口转发四两拨千斤
引言
在维护纯命令行的远程服务器时,常遇到需要修改 Web 管理页面配置的场景(比如 OpenCodex 的 10100 端口)。装图形界面或 VNC 太笨重,而 SSH 端口转发只需一行命令,就能把远端服务“拉”回本地浏览器,完美满足临时配置需求。本文将介绍几种常见的转发模式。
1. 本地转发(Local Forwarding)-L
场景:你想访问远端机器能访问到的服务(把远端的服务“拉”回自己电脑)。
命令格式:ssh -L [本地地址:]本地端口:目标地址:目标端口 user@跳板机
| 使用场景 | 命令示例 |
|---|---|
| 基础用法(本地访问) | ssh -L 10100:127.0.0.1:10100 root@192.168.1.10 (访问自己电脑的 localhost:10100,等于访问虚拟机的 localhost:10100) |
| 暴露给局域网其他设备 | ssh -L 0.0.0.0:10100:127.0.0.1:10100 root@192.168.1.10 (局域网内其他电脑访问 宿主机IP:10100 即可) |
| 跨网段访问内网服务(如访问内网数据库) | ssh -L 3306:db.internal.com:3306 root@跳板机 (本地连接 localhost:3306,等于连接内网的 db.internal.com:3306) |
2. 远程转发(Remote Forwarding)-R
场景:你的机器没有公网 IP,但想把本机的服务“推”给有公网 IP 的服务器(反向隧道)。
命令格式:ssh -R 远程端口:本地目标地址:本地端口 user@公网服务器
| 使用场景 | 命令示例 |
|---|---|
| 暴露本地服务给远程服务器 | ssh -R 10100:127.0.0.1:10100 root@公网服务器IP (在公网服务器上访问 localhost:10100,等于访问你电脑的 OpenCodex) |
| 让公网服务器把端口开放给外部(需配合网关设置) | ssh -R 0.0.0.0:10100:127.0.0.1:10100 root@公网服务器IP (需在公网服务器 /etc/ssh/sshd_config 中设置 GatewayPorts yes) |
3. 动态转发(Dynamic Forwarding)-D
场景:创建一个 SOCKS5 代理,让所有流量(HTTP/HTTPS)都经过远端机器“溜达”一圈。
命令格式:ssh -D 本地端口 user@跳板机
| 使用场景 | 命令示例 |
|---|---|
| 创建 SOCKS5 代理 | ssh -D 1080 root@192.168.1.10 (在浏览器或系统代理中设置 127.0.0.1:1080,所有流量走虚拟机出去) |
4. 跳板机/链式转发(ProxyJump)-J
场景:目标机器在深层内网,你需要先跳到一个中间机器(堡垒机)才能连上。
命令格式:ssh -L 本地端口:目标地址:目标端口 -J user1@跳板机 user2@目标机
| 使用场景 | 命令示例 |
|---|---|
| 穿透跳板机访问内网服务 | ssh -L 10100:127.0.0.1:10100 -J root@跳板机IP root@内网虚拟机IP |
5. 常用“静默”参数组合(推荐)
如果你不想开启一个交互式 Shell 窗口,而是想让它安静地在后台运行:
| 参数 | 作用 |
|---|---|
-N |
不执行远程命令(只做端口转发,纯隧道模式) |
-f |
后台运行(Fork 到后台) |
-T |
禁用伪终端分配(配合 -N 使用,减少资源占用) |
万能后台命令示例:
# 将虚拟机的 OpenCodex 映射到本地 10100,且安静后台运行
ssh -fNT -L 10100:127.0.0.1:10100 root@虚拟机IP
6. 高级排障参数
| 参数 | 作用 |
|---|---|
-g |
允许远程主机连接到本地转发的端口(配合 -L 0.0.0.0 使用) |
-v |
调试模式(显示详细连接日志,排查为什么转发出错) |
💡 核心注意事项(避坑指南)
- 权限限制:目标 SSH 服务器的
/etc/ssh/sshd_config中必须允许AllowTcpForwarding yes(默认是允许的)。 - 远程转发监听:如果想让公网服务器上的
0.0.0.0监听远程转发端口,需要在公网服务器上设置GatewayPorts yes,否则默认只监听127.0.0.1。 - 保持长连接:如果 SSH 经常断开,可以加
-o ServerAliveInterval=60参数,或修改客户端配置。
本文来自博客园,作者:ignibera,转载请注明原文链接:https://www.cnblogs.com/ignibera/p/22863940

浙公网安备 33010602011771号