引言:跳板机解决了什么问题
生产环境中,大量内网机器并不对公网开放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,结合本文与《安全配置完整指南》一并实践。