应通过powershell命令行、图形界面设置或“启用或关闭windows功能”三种方式之一安装openssh server组件,启动并设为开机自启,开放防火墙tcp 22端口,最后用get-service sshd验证运行状态。

如果您希望在Windows系统上启用远程安全登录能力,但当前系统未运行SSH服务,则可能是由于OpenSSH Server组件尚未安装或服务未启动。以下是解决此问题的步骤:
一、通过PowerShell命令行安装并启用OpenSSH Server
此方法适用于Windows 10版本1809及以上或Windows 11系统,直接调用系统内置功能管理接口,无需第三方工具,具备最佳兼容性与稳定性。
1、以管理员身份运行PowerShell:按Win + X,选择“Windows Terminal(管理员)”或“PowerShell(管理员)”。
2、执行命令检查当前可用的OpenSSH组件:Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'。
3、若输出中OpenSSH.Server~~~~0.0.1.0状态为NotPresent,则运行安装命令:Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0。
4、安装成功后,启动SSH服务:Start-Service sshd。
5、设置服务开机自启:Set-Service -Name sshd -StartupType 'Automatic'。
6、开放系统防火墙TCP 22端口:New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22。
二、通过Windows设置图形界面安装OpenSSH Server
该方式面向不熟悉命令行操作的用户,全程通过系统原生设置向导完成,避免输入错误风险,适合新手或临时配置场景。
1、按下Win + I打开“设置”,进入“应用” → “可选功能”。
2、点击右上角“添加功能”按钮,在搜索框中输入OpenSSH Server。
3、在结果列表中勾选OpenSSH 服务器(注意区分客户端,确保未仅勾选客户端)。
4、点击“安装”,等待进度条完成并显示“已安装”状态。
5、安装完毕后,按Win + R输入services.msc,定位到“OpenSSH SSH Server”服务。
6、右键该服务,选择“属性”,将“启动类型”设为自动,并点击“启动”按钮。
7、返回“Windows Defender 防火墙” → “高级设置”,新建入站规则:协议类型选TCP,本地端口填22,操作设为允许连接。
三、通过“启用或关闭Windows功能”传统路径安装
此路径复用Windows旧版功能管理机制,适用于组策略受限环境或需与其他系统组件(如WSL)协同启用的场景。
1、按Win + R,输入optionalfeatures.exe,回车打开“Windows功能”窗口。
2、在列表中勾选OpenSSH 服务器(部分系统版本中可能显示为“OpenSSH 服务器(预览版)”)。
3、点击“确定”,系统将自动下载并部署组件,完成后提示重启。
4、重启后,以管理员身份打开PowerShell,执行Start-Service sshd启动服务。
四、验证SSH服务是否正常运行
完成任一安装方式后,必须确认服务已处于运行状态且端口可达,否则远程连接将失败。
1、在管理员PowerShell中执行:Get-Service sshd,确认Status字段为Running。
2、执行:netstat -ano | findstr :22,确认存在监听状态的TCP连接。
3、从另一台设备执行:ssh username@your_windows_ip,首次连接时需输入yes确认主机密钥,并输入Windows账户密码。
4、若连接成功,终端将显示远程主机命令提示符,表明SSH服务已就绪。
五、基础配置调整(可选)
默认配置使用cmd.exe作为登录Shell且绑定端口22,可根据实际需求修改sshd_config文件以增强安全性或适配工作流。
1、以管理员权限打开文本编辑器,编辑配置文件:C:\ProgramData\ssh\sshd_config。
2、如需更改默认端口,找到#Port 22行,取消注释并修改为所需端口号,例如:Port 2222。
3、如需切换默认Shell为PowerShell,找到#ForceCommand powershell.exe或添加新行:ForceCommand powershell.exe。
4、保存文件后,重启服务:Restart-Service sshd。
5、若修改了端口,需同步更新防火墙规则,将原规则中的本地端口替换为新端口号。











