Windows 通过 SSH 跳板机安全连接内网开发服务器
关键词:Windows SSH、跳板机(Jump Server)、ProxyJump、内网穿透、OpenSSH、FinalShell、安全开发
在现代云原生架构中,出于安全合规要求,开发、测试和生产服务器通常部署在私有网络(VPC)内部 ,不直接暴露公网 IP。开发者必须通过一台公网跳板机(Jump Server / Bastion Host) 中转访问内网资源。
本文将手把手教你如何在 Windows 系统(包括 Administrator 用户)下,通过标准 SSH 工具链,安全、高效地连接内网开发服务器。
🧩 场景说明
- 本地环境:Windows 10/11(用户:
Administrator) - 跳板机(Jump Server):
- 公网 IP:
xxx.xxx.xxx.xxx - 登录用户:
ec2-user(常见于 AWS EC2) - 私钥文件:
jump-key.pem
- 公网 IP:
- 内网开发服务器(dev-be):
- 内网 IP:
10.x.x.x - 登录用户:
ec2-user - 私钥文件:
dev-key.pem
- 内网 IP:
🔒 所有私钥由团队安全分发,禁止上传至公网或共享目录。
一、基础准备:启用 OpenSSH 客户端
Windows 10/11 已内置 OpenSSH 客户端,但需确认已启用:
- 打开「设置」→「应用」→「可选功能」
- 搜索 OpenSSH 客户端,若未安装则点击「添加」
✅ 验证安装:在 PowerShell 中运行
ssh -V,应返回版本信息。
二、创建安全的 SSH 目录结构
以 Administrator 用户为例:
powershell
# 创建 .ssh 目录(若不存在)
mkdir C:\Users\Administrator\.ssh
# 建议将密钥放入子目录,便于管理
mkdir C:\Users\Administrator\.ssh\keys
将你的私钥文件(如 jump-key.pem、dev-key.pem)放入 keys 目录。
三、修复私钥文件权限(关键步骤!)
Windows 下 OpenSSH 对私钥权限要求严格。若权限过宽,会报错:
Permissions for 'xxx.pem' are too open.
修复命令(PowerShell):
powershell
# 重置继承权限
icacls "C:\Users\Administrator\.ssh\keys\jump-key.pem" /inheritance:r
icacls "C:\Users\Administrator\.ssh\keys\dev-key.pem" /inheritance:r
# 仅授权当前用户和系统读取
icacls "C:\Users\Administrator\.ssh\keys\jump-key.pem" /grant:r "Administrators:(R)"
icacls "C:\Users\Administrator\.ssh\keys\jump-key.pem" /grant:r "SYSTEM:(R)"
icacls "C:\Users\Administrator\.ssh\keys\dev-key.pem" /grant:r "Administrators:(R)"
icacls "C:\Users\Administrator\.ssh\keys\dev-key.pem" /grant:r "SYSTEM:(R)"
✅ 执行后,OpenSSH 将接受这些私钥。
四、配置 SSH 客户端(config 文件)
创建文件:
C:\Users\Administrator\.ssh\config
内容如下(使用掩码 IP 和通用路径):
ssh
# 跳板机配置
Host jump-server
Hostname xxx.xxx.xxx.xxx # 跳板机公网 IP
User ec2-user
Port 22
IdentityFile C:/Users/Administrator/.ssh/keys/jump-key.pem
ForwardAgent yes
# 内网开发服务器
Host dev-server
Hostname 10.x.x.x # 内网 IP
User ec2-user
Port 22
IdentityFile C:/Users/Administrator/.ssh/keys/dev-key.pem
ProxyJump jump-server # 通过跳板机连接
💡
ProxyJump是 OpenSSH 7.3+ 支持的现代跳板语法,简洁可靠。
五、一键登录内网服务器
配置完成后,只需一条命令即可直达内网:
bash
ssh dev-server
SSH 客户端将自动:
- 使用
jump-key.pem登录跳板机 - 从跳板机使用
dev-key.pem登录内网服务器
✅ 无需手动中转,体验如直连!
八、安全最佳实践
- 私钥保管:绝不提交到 Git、网盘或聊天工具
- 权限最小化:跳板机仅开放必要端口(如 22)
- 定期轮换密钥:遵循公司安全策略
- 禁用密码登录:服务器应仅允许密钥认证
✅ 总结
通过合理配置 OpenSSH 客户端与图形化工具,Windows 用户也能像 Linux 用户一样,高效、安全地访问内网开发环境。核心在于:
- 正确设置私钥权限
- 使用
ProxyJump简化跳板逻辑 - 选择支持跳板机的 GUI 工具
下一篇文章,我们将探讨如何通过 SSH 隧道安全连接内网数据库(MySQL / PostgreSQL),敬请期待!