银河麒麟系统SSH隧道需先启用SSH服务并获取本机IP;支持L型(本地转发)、R型(远程转发)和D型(SOCKS代理)三种模式,分别用于访问内网服务、暴露本地服务及加密全局流量。

要在银河麒麟系统上通过SSH隧道建立端口转发代理,实现本地服务对外暴露或远程访问内网服务,必须先确保本机SSH服务已启用、目标服务器可达、且具备对应权限——缺少任一条件都将导致隧道创建失败或连接中断。
确认本地SSH服务状态并获取本机IP
打开终端,执行 sudo systemctl status ssh,确认输出中含 【active (running)】;若显示 inactive 或 failed,需先完成SSH服务安装与启动流程。
运行 ip a | grep "inet " | grep -v "127.0.0.1",记下主网卡的IPv4地址(如 192.168.3.45),这是后续从外部设备连接时要填写的目标IP。
若返回为空,请检查网卡是否启用、DHCP是否响应,或手动配置静态IP——没有有效局域网IP,远程根本无法定位到这台麒麟机器。
建立本地端口转发(L型):把远程服务映射到本地
适用于在银河麒麟上访问远端数据库、Web管理后台等仅限内网开放的服务。例如将远程服务器192.168.100.20上的MySQL(3306端口)映射到本机127.0.0.1:3307:
执行命令:ssh -L 3307:192.168.100.20:3306 user@jump-server-ip -N,其中 jump-server-ip 是你有SSH权限的跳板机公网或局域网地址。
【-N 表示不执行远程命令,仅维持隧道;漏掉它会导致连接后立即退出】
该命令会保持前台运行,按 Ctrl+C 可终止隧道。如需后台运行,添加 -f 参数,但首次使用建议不加,便于观察连接日志。
建立远程端口转发(R型):把本地服务暴露给远程主机
适用于调试本地开发中的Web服务,让团队成员通过你的公网IP访问 localhost:8080 的接口。
方法一:直连远程服务器(需对方SSH服务允许 GatewayPorts yes)
执行:ssh -R 8080:127.0.0.1:8080 user@remote-server.com -N,成功后,remote-server.com 上的 8080 端口将反向代理到你本机的 8080。
方法二:配合公网云服务器中转(推荐,可控性强)
在银河麒麟终端运行:ssh -R 0.0.0.0:6001:127.0.0.1:8080 user@your-cloud-vps-ip -N。
【务必使用 0.0.0.0 而非 127.0.0.1,否则远程服务器自身才能访问,其他设备无法连入】
然后在云服务器上执行 sudo sysctl -w net.ipv4.ip_forward=1 并开放防火墙6001端口,外部用户即可通过 http://your-cloud-vps-ip:6001 访问你本地的8080服务。
建立动态SOCKS代理(D型):全局流量经SSH加密转发
第一步:启动动态端口监听
执行:ssh -D 1080 -C -N user@remote-server.com,其中 -C 启用压缩,-D 1080 表示在本机开启 SOCKS5 代理端口1080。
第二步:配置浏览器或系统代理
在Firefox中进入 设置 → 网络设置 → 手动代理配置 → SOCKS Host 填 127.0.0.1,Port 填 1080,SOCKS v5 勾选,下方“远程DNS”也勾选——不勾选会导致域名解析仍走本地,可能被污染或失败。
第三步:验证代理生效
访问 https://www.whatismyip.com,若显示的IP是 remote-server.com 的公网IP,说明流量已成功经SSH隧道转发。

















