Windows 11 启用 SSH 远程访问需安装 OpenSSH Server 组件、启动并设为开机自启的 sshd 服务,且配置防火墙放行 TCP 22 端口。

如果您在 Windows 11 上需要启用 SSH 远程访问能力,但系统未自动启动 OpenSSH 服务,则可能是由于 OpenSSH Server 组件尚未安装或服务未启用。以下是多种可行的开启方式:
一、通过系统设置图形化安装 OpenSSH Server
该方法无需命令行操作,适合对 PowerShell 不熟悉的用户,利用 Windows 内置的可选功能管理界面完成安装。
1、按 Win + I 打开“设置”,进入“应用” → “可选功能”。
2、点击“查看功能”按钮,在弹出窗口顶部搜索框中输入 OpenSSH Server。
3、在列表中找到并勾选 OpenSSH 服务器 (OpenSSH Server),点击“下一步”后等待安装完成。
4、安装完成后,系统将显示“状态:已安装”,此时组件已就绪,但服务尚未启动。
二、使用管理员 PowerShell 安装 OpenSSH Server
该方式适用于批量部署、脚本自动化或图形界面失效(如报错 0x800B0101)时的替代方案,具备更高可控性与诊断能力。
1、右键开始菜单,选择“终端(管理员)”或“Windows PowerShell(管理员)”。
2、执行命令检查当前可用 OpenSSH 功能:Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'。
3、若输出中 OpenSSH.Server 的 State 显示为 Not Present,则运行安装命令:Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0。
4、安装成功后,PowerShell 将返回 State : Installed 提示。
三、手动下载并部署 OpenSSH-Win64 安装包
当系统内置安装机制持续失败(例如因证书策略、网络拦截或系统组件损坏),可采用微软官方 GitHub 发布的独立安装包进行手动部署。
1、访问 GitHub 官方发布页:https://github.com/PowerShell/Win32-OpenSSH/releases,下载最新版 OpenSSH-Win64.zip。
2、解压至本地目录(如 C:\OpenSSH),以管理员身份打开 CMD 或 PowerShell,切换至该目录。
3、执行安装脚本:powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1。
4、脚本执行完毕后,OpenSSH 服务文件将被注册至系统,但需后续手动启动并配置。
四、启动并设置 OpenSSH 服务为开机自启
无论采用哪种安装方式,OpenSSH Server 服务(sshd)默认处于停止状态,必须显式启动并设为自动启动,才能响应远程连接请求。
1、在管理员 PowerShell 中运行:Start-Service sshd 启动服务。
2、运行:Set-Service -Name sshd -StartupType Automatic 设置开机自启。
3、验证服务状态:Get-Service sshd,确认其 Status 为 Running 且 StartType 为 Automatic。
4、如需同时启用密钥代理支持,可额外执行:Start-Service ssh-agent 和 Set-Service -Name ssh-agent -StartupType Automatic。
五、配置 Windows 防火墙放行 SSH 端口
Windows Defender 防火墙默认阻止外部设备通过 TCP 22 端口发起连接,必须创建入站规则允许该流量,否则本地测试成功但局域网其他设备无法连接。
1、在管理员 PowerShell 中运行以下命令创建规则:New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22。
2、命令执行后,防火墙将立即生效,无需重启服务或系统。
3、如需验证规则是否生效,可在“高级安全 Windows Defender 防火墙”中查看“入站规则”列表,确认名称为 sshd 的规则左侧有绿色对勾图标。










