Windows Server 2025 安装配置 OpenSSH 实现安全远程管理
Windows Server 2025 预装 OpenSSH,本文完整演示从检查、安装、启动服务、防火墙放行、修改默认端口到配置密钥认证的 SSH 安全远程管理流程。
Windows Server 2025 预装了 SSH,让管理员能更安全地远程管理服务器。这对从 macOS 或 Linux 机器访问服务器、以及访问不属于 Active Directory 域的 Windows 计算机尤其有用——这类场景下手动配置 PowerShell 远程(WinRM)比较麻烦。默认情况下 Windows Server 2025 的 SSH 使用密码认证,建议按本文后续说明改为公钥认证。
一、检查 OpenSSH 是否已安装
在「设置」→「可选功能」中搜索 SSH,可以看到 OpenSSH 客户端 和 OpenSSH 服务器 两个功能。

也可以用 PowerShell 检查状态:
Get-WindowsCapability -Online -Name OpenSSH*

二、安装 OpenSSH
如果 SSH 被卸载,可用以下命令重新安装。
安装 OpenSSH 服务器:
Add-WindowsCapability -Online -Name OpenSSH.Server
安装 OpenSSH 客户端:
Add-WindowsCapability -Online -Name OpenSSH.Client
三、卸载 OpenSSH
出于安全考虑需要移除 SSH 时:
Remove-WindowsCapability -Online -Name OpenSSH.Server
Remove-WindowsCapability -Online -Name OpenSSH.Client
四、启动 SSH 服务
OpenSSH 服务器默认禁用,使用前需要启动。为安全起见,建议只在需要时启动。
通过服务管理工具启动并设置为「自动」:

PowerShell 方式启动服务:
Start-Service sshd
设置为开机自动启动:
Set-Service -Name sshd -StartupType Automatic
验证服务状态:
Get-Service sshd

五、在 Windows 防火墙中放行 SSH
安装 OpenSSH 后通常会自动启用防火墙规则。如果连接被阻止,用以下命令放行入站 SSH:
New-NetFirewallRule -Name sshd -DisplayName "Allow SSH" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
也可以运行 wf.msc 通过图形界面检查入站规则。

六、使用 SSH 连接服务器
服务启动后即可连接,例如:
ssh Administrator@10.211.55.15
从 macOS、Linux 还是 Windows 连接,方式都一样。

首次连接时,系统会提示接受服务器指纹。指纹是服务器公钥的唯一标识符,用于验证服务器身份、防止中间人攻击。

七、修改 OpenSSH 默认端口
攻击者经常扫描 22 号端口,修改默认端口能减少暴露面。
用具备提升权限的编辑器打开 C:\ProgramData\ssh\sshd_config,修改端口配置。

修改后重启 SSH 服务:
Restart-Service sshd
同时更新防火墙规则。先删除旧的端口 22 规则:
Remove-NetFirewallRule -Name "OpenSSH-Server-In-TCP"
再为新的端口创建规则:
New-NetFirewallRule -DisplayName "Allow Port 43210" -Direction Inbound -Protocol TCP -LocalPort 43210 -Action Allow
之后用新端口连接:
ssh Administrator@10.211.55.15 -p 43210

八、配置基于密钥的认证
密钥认证使用一对加密密钥验证用户身份,不传输密码,比密码认证更安全,能有效抵御暴力破解。
在本地计算机生成密钥对:
ssh-keygen -t rsa -b 4096

把公钥复制到服务器。先建立 SSH 会话,然后创建公钥文件 administrators_authorized_keys(注意:这里是文件,不是目录),并用 icacls 设置仅 SYSTEM 与 Administrators 组可访问:
New-Item -ItemType File -Path C:\ProgramData\ssh\administrators_authorized_keys
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r /grant "SYSTEM:(A)" /grant "Administrators:(A)"
若 ACL 设置不正确,公钥认证不会生效。然后将公钥文件复制到服务器:
scp -P 43210 key.pub Administrator@10.211.55.15:/ProgramData/ssh/administrators_authorized_keys
要强制执行密钥认证,请编辑 C:\ProgramData\ssh\sshd_config,把 PasswordAuthentication 设为 no,然后重启 SSH 服务:
Restart-Service sshd
之后用私钥连接,无需输入密码:
ssh -i ~/.ssh/id_rsa Administrator@10.211.55.15 -p 43210
小结
Windows Server 2025 对 OpenSSH 的原生支持简化了远程管理流程,提供与 Linux 系统管理员相似的能力。完成服务启动、防火墙放行、改端口和密钥认证这几步后,就能获得更可靠的 SSH 远程管理体验。
常见问题
问:Windows Server 2025 自带 SSH 吗? 答:自带 OpenSSH 客户端与服务器,启用 sshd 服务并放行防火墙即可使用。
问:SSH 默认端口是多少?怎么修改? 答:默认 22。修改 C:\ProgramData\ssh\sshd_config 的 Port,重启 sshd 并同步更新防火墙规则即可。
问:公钥认证的 authorized_keys 文件在哪? 答:管理员用户是 C:\ProgramData\ssh\administrators_authorized_keys(这是文件,并需仅 SYSTEM 与 Administrators 组可访问),普通用户是 ~/.ssh/authorized_keys。
问:如何强制使用密钥认证? 答:在 sshd_config 中把 PasswordAuthentication 设为 no,然后重启 sshd 服务。
问:防火墙放行 SSH 的命令是什么? 答:New-NetFirewallRule -Direction Inbound -Protocol TCP -LocalPort <端口> -Action Allow。