需依次完成四步:一、以管理员身份用powershell检查并安装openssh.server组件;二、启动sshd服务并设为开机自启,验证运行状态及22端口监听;三、配置防火墙放行tcp 22端口;四、使用本地账户密码(非pin)登录,通过ssh 用户名@ip连接。

如果您希望在 Windows 10 上启用系统内置的 OpenSSH 服务,以便通过命令行进行远程维护,则需完成服务安装、启动配置、防火墙放行及身份验证准备。以下是具体操作步骤:
一、确认并安装 OpenSSH 服务器组件
Windows 10 1809 及更新版本已内置 OpenSSH 功能,但服务器端默认未启用。需手动安装并验证状态。
1、以管理员身份打开 PowerShell,执行以下命令检查当前安装状态:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
2、若输出中 OpenSSH.Server 的 State 为 NotPresent,则执行安装命令:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
3、安装完成后,系统可能提示需重启;如未提示,可暂不重启,继续后续步骤。
二、启动并配置 SSH 服务
安装完成后必须启动 sshd 服务,并设置为开机自启,确保远程连接持续可用。
1、在管理员 PowerShell 中运行以下命令启动服务:
Start-Service sshd
2、设置服务启动类型为自动:
Set-Service -Name sshd -StartupType 'Automatic'
3、验证服务状态是否为 Running:
Get-Service sshd
4、确认 SSH 监听端口(默认 22)已就绪:
netstat -an | findstr ":22"
三、配置 Windows 防火墙放行 SSH 流量
若防火墙未放行 TCP 22 端口,外部客户端将无法建立连接。必须显式添加入站规则。
1、使用管理员 PowerShell 执行以下命令创建防火墙规则:
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
2、若需兼容旧版命令行工具,也可运行:
netsh advfirewall firewall add rule name="Allow SSH In" protocol=TCP dir=in localport=22 action=allow
四、准备登录凭据与用户名
SSH 登录依赖本地账户凭证,不可使用 Microsoft 账户 PIN 码或 Windows Hello 生物识别方式,必须使用本地账户密码或微软账户对应的传统密码。
1、在目标机器上打开 PowerShell,运行:
whoami
2、输出格式为 计算机名\用户名,其中反斜杠后的内容即为 SSH 登录所需的用户名。
3、若当前登录为微软账户(如 user@outlook.com),则用户名取 @ 符号前部分;若已切换为本地账户,则直接使用该账户名。
4、确保该账户设置了强密码,且未启用仅 PIN 登录模式——可在“设置 → 账户 → 登录选项”中关闭 PIN。
五、从客户端发起远程连接
完成上述配置后,任意支持 SSH 的客户端均可连接。Windows 自带客户端无需额外安装。
1、在客户端(本机或其他设备)的 PowerShell 或 CMD 中输入:
ssh 用户名@目标IP地址
2、首次连接时会提示主机密钥验证,输入 yes 并回车。
3、随后提示输入密码,此处须输入目标 Windows 10 设备上该用户的完整登录密码(非 PIN)。
4、成功登录后,命令行提示符将变为远程主机环境,可执行 netstat、ipconfig、tasklist 等维护命令。










