需依次完成服务安装、启动配置、防火墙放行、本地验证及可选配置修改:一、通过设置→应用→可选功能安装openssh服务器并设为自动启动;二、powershell管理员执行add-windowscapability启用、start-service启动、set-service设自启;三、防火墙高级设置中新建入站规则放行tcp 22端口;四、本地ssh localhost测试登录;五、编辑c:\programdata\ssh\sshd_config调整端口或认证方式后重启服务。

如果您希望在 Windows 10 系统中启用内置的 OpenSSH 服务器以支持远程命令行访问或调试,则需完成服务安装、启动配置与网络放行。以下是多种可行的操作路径:
一、通过“设置”应用启用OpenSSH服务器
该方法使用系统图形界面,无需命令行操作,适合对 PowerShell 不熟悉的用户。系统将自动部署服务组件并注册为 Windows 服务。
1、点击桌面左下角“开始”按钮,选择“设置”(齿轮图标)。
2、进入“应用” → “可选功能” → 点击右上角“添加功能”。
3、在搜索框中输入OpenSSH Server,勾选该项后点击“安装”。
4、安装完成后,在“服务”管理器中确认“OpenSSH SSH Server”已存在且状态为“已停止”。
5、按 Win + R 输入 services.msc,找到该服务,右键选择“启动”,再右键“属性”将“启动类型”设为自动。
二、使用PowerShell以管理员身份安装并启动
此方式直接调用系统模块,可确保服务注册完整,并支持后续脚本化管理。适用于批量部署或自动化场景。
1、右键“开始”菜单,选择“Windows PowerShell(管理员)”或“终端(管理员)”。
2、执行命令启用 OpenSSH 服务器功能:Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0。
3、执行命令启动服务:Start-Service sshd。
4、设置开机自启:Set-Service -Name sshd -StartupType 'Automatic'。
5、验证服务状态:Get-Service sshd,输出中“Status”应为Running。
三、手动配置防火墙放行SSH端口
即使服务已运行,若系统防火墙未允许入站连接,外部设备仍无法建立 SSH 会话。必须显式开放 TCP 端口 22(或自定义端口)。
1、按 Win + R 输入 firewall.cpl,打开“Windows Defender 防火墙”。
2、点击左侧“高级设置”,在左侧面板选择“入站规则”。
3、右侧点击“新建规则”,选择“端口” → 下一步 → 选择“TCP”,在“特定本地端口”中填入22 → 下一步。
4、选择“允许连接” → 下一步 → 勾选全部网络类型(域、专用、公用)→ 下一步。
5、为规则命名,例如OpenSSH Server Port 22,点击“完成”。
四、验证SSH服务是否正常响应
本地测试可快速确认服务进程、认证机制与基础配置是否生效,避免远程连接失败时排查方向错误。
1、在本机 PowerShell 或 CMD 中执行:ssh localhost。
2、首次连接会提示确认主机密钥,输入yes并回车。
3、系统将要求输入当前 Windows 用户账户的密码(非 PIN 或 Microsoft 账户密码,而是登录系统的本地/域密码)。
4、成功登录后,终端显示 Windows 命令提示符或 PowerShell 提示符,表示 SSH 服务已就绪。
5、退出会话输入:exit。
五、修改默认SSH配置(可选)
系统默认配置文件位于 C:\ProgramData\SSH\sshd_config,以管理员权限编辑可调整端口、禁用密码登录、启用密钥认证等关键行为。
1、用记事本(以管理员身份运行)打开上述路径的 sshd_config 文件。
2、取消注释并修改行:#Port 22 为 Port 22(如需改端口则替换数字)。
3、确保以下两行未被注释且值正确:PasswordAuthentication yes,PermitEmptyPasswords no。
4、保存文件后,在 PowerShell(管理员)中执行:Restart-Service sshd。










