SSH与RDP按需并存:SSH用于命令行运维(日志、配置、脚本、文件传输),RDP用于图形界面操作(GUI调试、管理工具、音视频)。Windows可同时启用两者,需协调权限、端口与认证,典型场景如Jumpserver统一纳管双协议。

SSH 和 RDP 不是“选一个用”的关系,而是按需并存的两类能力:SSH 管命令、传文件、跑脚本;RDP 管界面、调软件、做演示。真正稳定的远程管理,往往需要两者都开、分场景调用。
什么时候必须用 SSH
纯运维操作基本不用图形界面——查日志、改配置、批量部署、执行 Ansible 任务、传输大文件(scp/sftp)、设置定时任务。这些动作在终端里几秒完成,切到图形桌面反而慢且资源占用高。
- Linux 服务器默认只开放 SSH(22 端口),无需额外安装服务
- Windows 主机若启用 OpenSSH Server(Win10 1809+ 自带),也能直接接受 ssh 连接,适合自动化工具接入
- 密钥认证比密码更安全:生成 4096 位 RSA 密钥对,禁用 PasswordAuthentication,大幅提升防爆破能力
- 非标端口(如 2222)可过滤掉 90% 的扫描流量,配合 fail2ban 效果更佳
什么时候绕不开 RDP
当操作依赖图形环境时,SSH 就无能为力了:比如调试 GUI 应用、使用 Windows 内置管理工具(gpedit.msc、dcomcnfg)、连接远程打印机、播放测试音视频、或协助用户完成界面级操作。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
- Windows 10/Server 默认支持 RDP,只需在“系统属性→远程”中开启,并放行防火墙(TCP 3389 或自定义端口)
- RDP 支持网络级认证(NLA),应在启用时勾选,它能在建立完整会话前完成身份校验,抵御中间人攻击
- 多用户并发需谨慎:默认允许两个会话,超出需配置远程桌面授权服务或调整组策略限制数
- 性能敏感场景建议关闭桌面视觉效果、启用 RDP 压缩、选择“LAN(10 Mbps 或更高)”体验模板
双协议共存的实操要点
一台 Windows 主机同时开启 SSH 和 RDP,不是简单打开两个开关,而是要协调权限、端口、认证方式和资源调度。
- OpenSSH Server 安装后,默认以 LocalSystem 身份运行,但需为远程用户分配“Log on as a service”权限,否则登录失败
- RDP 使用 Network Service 上下文,而 SSH 登录用户若为标准账户,可能无法启动某些 GUI 服务,建议统一使用管理员组成员账号
- 若通过 Jumpserver 或 Azure Arc 等平台纳管,SSH 可走隧道代理,RDP 则需确保目标端口可达或启用端口映射
- 避免端口冲突:RDP 默认 3389,SSH 默认 22;修改任一端口时,记得同步更新客户端配置、防火墙规则及堡垒机资产信息
典型混合场景配置示例
以企业内一台 Windows Server 2022 为例,日常由运维人员通过 Jumpserver 统一接入:
- SSH 用于 Ansible 批量下发补丁、收集事件日志、重启 IIS 服务——脚本直连,无需人工干预
- RDP 用于故障现场复现、检查 Windows Forms 应用渲染异常、临时共享剪贴板复制报错截图
- Jumpserver 中该资产标记为“SSH+RDP 双协议”,权限策略区分:普通运维员仅限 SSH;高级工程师额外开通 RDP 会话,且单次最长 30 分钟
- 所有连接行为审计留痕,包括 SSH 命令历史、RDP 登录/登出时间、剪贴板操作记录(需开启相应组策略)

















