Jumpserver是混合云中统一纳管Windows/Linux服务器远程访问的成熟开源方案,支持SSH与RDP双协议并行接入同一台Windows主机,通过双资产记录、角色化权限、审计录像及Ansible自动化实现安全可控的统一运维。

混合云环境中统一管理 Windows 和 Linux 服务器的远程访问,关键在于用一个入口同时支持 SSH(命令行)和 RDP(图形界面),而不是为不同系统配不同工具。Jumpserver 是目前主流开源方案中真正落地双协议统一纳管的成熟选择。
协议能力必须双栈并存
只开 RDP 或只开 SSH 都无法满足混合运维需求。Windows 主机需主动启用 OpenSSH Server(非第三方替代品),确保端口 22 可被 Jumpserver 探测和代理;RDP 则需确认服务启用、防火墙放行(默认 3389,建议改至高位如 3390)、NLA(网络级认证)开启。两者不是互斥选项,而是同一台 Windows 主机上并行运行的两个服务进程。
- OpenSSH Server 在 Windows 10/11 和 Windows Server 2019+ 中已内置,通过“可选功能”启用即可,无需安装第三方 SSH 服务
- RDP 需在“系统属性 → 远程”中勾选“允许远程连接到此计算机”,并确认“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”已启用
- Jumpserver 添加资产时,同一台 Windows 主机要分别注册两条资产记录:一条协议选 SSH,另一条选 RDP,IP 和端口一致,但协议类型、认证方式、会话策略可独立配置
权限与会话策略按角色分离
不同人员对同一台 Windows 服务器的操作需求不同——运维工程师需要执行 PowerShell 脚本或传文件,IT 支持人员需要远程桌面排查用户问题。Jumpserver 的系统用户 + 资产授权模型正好支撑这种细分控制。
- 创建两个系统用户组:“win-ssh-admin”(分配 SSH 协议资产+命令白名单+SFTP 权限)和“win-rdp-support”(分配 RDP 协议资产+图形会话时长限制+剪贴板禁用)
- 对 SSH 接入,可在 Jumpserver 的“命令过滤”中禁止危险命令(如 shutdown、format),同时允许 ansible 所需的 cmdlet(如 Get-Service、Invoke-Command)
- 对 RDP 接入,启用“console 模式”可连接到物理控制台会话(适合无人值守服务维护),常规用户则使用标准会话,避免影响其他登录者
审计与安全加固同步落地
统一管理不等于降低安全水位。SSH 和 RDP 的日志、行为、传输都必须可追溯、可拦截、可阻断。
- SSH 会话全程录制命令输入与输出(非仅录屏),支持关键词检索(如“rm -rf”、“net user”),配合 Jumpserver 审计模块自动告警
- RDP 会话开启录像功能后,可回放鼠标轨迹、窗口切换、键盘输入(需开启相应策略),同时禁用驱动器映射和打印机重定向,防止数据外泄
- 所有连接强制走 Jumpserver 网关,真实服务器不暴露公网 IP;Windows 主机本地防火墙应仅允许 Jumpserver 所在网段访问 22 和 3390 端口
自动化对接不依赖人工跳转
统一管理的价值最终体现在工具链打通。Ansible 控制节点只需将 Jumpserver 配置为跳板机(ProxyJump),即可直接对纳管的 Windows 主机执行模块任务,无需额外部署 WinRM 或修改目标机网络策略。
- Ansible inventory 中设置 ssh_args="-o ProxyJump=jumpserver-user@jms.example.com:2222"
- Windows 主机需预置 PowerShell ExecutionPolicy 为 RemoteSigned,并启用 OpenSSH 的 PowerShell 子系统(sshd_config 中 Subsystem powershell c:/windows/system32/WindowsPowerShell/v1.0/powershell.exe -sshsession)
- Jumpserver 自带的“Web 终端”和“Web RDP”均支持全屏、复制粘贴、文件拖拽(SFTP 后端),开发和运维人员无需本地安装任何客户端软件










