Windows 通过 SSH 跳板机安全连接内网开发服务器

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
  • 内网开发服务器(dev-be):
    • 内网 IP:10.x.x.x
    • 登录用户:ec2-user
    • 私钥文件:dev-key.pem

🔒 所有私钥由团队安全分发,禁止上传至公网或共享目录


一、基础准备:启用 OpenSSH 客户端

Windows 10/11 已内置 OpenSSH 客户端,但需确认已启用:

  1. 打开「设置」→「应用」→「可选功能」
  2. 搜索 OpenSSH 客户端,若未安装则点击「添加」

✅ 验证安装:在 PowerShell 中运行 ssh -V,应返回版本信息。


二、创建安全的 SSH 目录结构

Administrator 用户为例:

powershell 复制代码
# 创建 .ssh 目录(若不存在)
mkdir C:\Users\Administrator\.ssh

# 建议将密钥放入子目录,便于管理
mkdir C:\Users\Administrator\.ssh\keys

将你的私钥文件(如 jump-key.pemdev-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 客户端将自动:

  1. 使用 jump-key.pem 登录跳板机
  2. 从跳板机使用 dev-key.pem 登录内网服务器

✅ 无需手动中转,体验如直连!


八、安全最佳实践

  1. 私钥保管:绝不提交到 Git、网盘或聊天工具
  2. 权限最小化:跳板机仅开放必要端口(如 22)
  3. 定期轮换密钥:遵循公司安全策略
  4. 禁用密码登录:服务器应仅允许密钥认证

✅ 总结

通过合理配置 OpenSSH 客户端与图形化工具,Windows 用户也能像 Linux 用户一样,高效、安全地访问内网开发环境。核心在于:

  • 正确设置私钥权限
  • 使用 ProxyJump 简化跳板逻辑
  • 选择支持跳板机的 GUI 工具

下一篇文章,我们将探讨如何通过 SSH 隧道安全连接内网数据库(MySQL / PostgreSQL),敬请期待!

相关推荐
Maynor99611 分钟前
OpenClaw 玩家必备:用 AI 自动追踪社区最新动态
java·服务器·人工智能
郝学胜-神的一滴15 分钟前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
“αβ”23 分钟前
数据链路层协议 -- 以太网协议与ARP协议
服务器·网络·网络协议·以太网·数据链路层·arp·mac地址
Thera7771 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
呉師傅1 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
getapi2 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19432 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Trouvaille ~3 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
一方热衷.4 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器