✉ support@finalshell.com.cn 📖 返回首页

FinalShell跳板机与SSH端口转发实战

SSH跳板机与端口转发

引言:跳板机解决了什么问题

生产环境中,大量内网机器并不对公网开放SSH端口,而是通过一台或少数几台跳板机(堡垒机)统一接入。配合端口转发,还可以在本地浏览器或桌面工具中安全访问内网的Web管理界面、数据库端口等。FinalShell作为日常SSH入口,正确配置跳板与转发规则,是进阶运维的必备技能。

一、典型网络拓扑认知

1.1 三层结构示例

常见结构为:本地电脑 → 公网跳板机 → 内网目标机。跳板机通常有固定公网IP或域名,并仅开放22端口给白名单来源;内网机器只允许跳板机访问。

1.2 与VPN的取舍

跳板适合「点对点」运维与脚本化场景;全量内网访问往往配合VPN或Zero Trust方案。本文聚焦SSH原生能力,便于与FinalShell工作流无缝衔接。

分层网络与堡垒访问

理清「谁能访问谁」再配置连接,避免误暴露端口

二、在FinalShell中配置跳板连接

2.1 连接串思路

核心是让客户端先连跳板,再通过跳板连目标。常见实现方式包括:

  • 在连接属性中填写跳板主机(若界面提供)
  • 或使用等价于 OpenSSH 的 ProxyJump / ProxyCommand 的配置逻辑

具体字段名称以您使用的FinalShell版本为准,若界面使用「代理服务器」「跳板」等字样,将跳板地址、端口、账号填入即可。

2.2 密钥放在哪一层

推荐:

  • 跳板与目标机分别配置密钥或密码策略,遵循公司规范
  • 私钥仅保存在本机安全位置,不要上传到服务器
  • 跳板启用 fail2ban、仅密钥登录等加固措施(参见安全配置类文章)

三、本地端口转发(访问内网Web与数据库)

3.1 本地转发含义

本机某端口映射到经SSH可达的远程地址:端口。例如把本地 3307 转到内网数据库的 3306,即可用本地图形化客户端连接 127.0.0.1:3307

3.2 命令行等价形式(便于理解)

# 示例:通过已建立的跳板会话做本地转发(参数需按实际修改)
ssh -L 3307:10.0.1.50:3306 user@jump.example.com

在FinalShell中通常可通过会话属性或右键菜单添加「本地端口转发」规则,避免手工记长命令。

四、远程端口转发与反向场景

4.1 何时用远程转发

当需要让远端某服务访问您本机或另一内网地址时,会用到远程转发(-R)。场景较少但排查内网服务联调时会遇到。

4.2 安全注意

远程转发若绑定在公网侧不当,可能带来风险。务必限制来源IP、使用防火墙,并仅在必要时短期开启。

端口转发示意

理清本地端与远端端,再填写转发规则

五、排错清单

5.1 连得上跳板但进不了内网

  • 检查目标机防火墙是否放行来自跳板网段的SSH
  • 核对内网IP是否变更(DHCP与容器网络常见问题)
  • 确认账号是否有登录shell权限

5.2 端口转发已建立但本地连不通

  • 确认监听地址是 127.0.0.1 还是 0.0.0.0
  • 本机端口是否被占用(netstat/ss 查看)
  • 服务端 GatewayPorts 等配置是否允许(远程转发时)

总结

跳板机与端口转发是SSH生态的基石能力。在FinalShell中把连接信息结构化保存,配合终端与SFTP使用,可以大幅减少「临时敲一长串ssh命令」的出错率。建议为每套环境建立清晰命名与分组,方便团队共享规范(敏感密码仍应走密钥与秘管系统)。

欢迎从下载中心安装或更新FinalShell,结合本文与《安全配置完整指南》一并实践。