CH-J Server Manager通过 SSH 管理服务器
菜单
全部指南与文章 →

在 Windows Server 2022 和 2025 上配置 OpenSSH

检查 Windows 功能、启动 SSH、限制网络并验证主机密钥。

检查并启用服务

在目标服务器以管理员运行 PowerShell。Windows Server 2025 已包含 OpenSSH,应先检查状态而非盲目重装。条件示例仅在缺少时安装,然后启动 sshd 并设置自动启动。下载失败时可能需要检查更新策略。

$cap = Get-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
if ($cap.State -ne 'Installed') {
    Add-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
}
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-Service sshd

将防火墙限制在管理网络

执行前把文档示例子网 192.0.2.0/24 替换为实际管理网段。检查并限制已有 OpenSSH 规则,缺少时创建限制范围的规则。保持控制台访问。从另一台计算机测试 TCP 22;端口开放并不能认证服务器身份。

$AdminSubnet = '192.0.2.0/24'
$rule = Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue
if ($rule) {
    $rule | Set-NetFirewallRule -Enabled True -RemoteAddress $AdminSubnet
} else {
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -RemoteAddress $AdminSubnet
}
Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' | Get-NetFirewallAddressFilter
Test-NetConnection -ComputerName windows-server.example -Port 22

验证身份与账户

比较控制台显示的指纹和客户端提示,使用 Windows 账户名连接。管理员使用具有特殊 ACL 的 %ProgramData%/ssh/administrators_authorized_keys,其他账户通常使用个人资料中的 .ssh/authorized_keys。遵循 Microsoft 密钥管理说明。CH-J 支持部分 Windows 工具,Linux Disk Manager 与 NGINX 工作流程不会因此变成 Windows 功能。

ssh-keygen -lf "$env:ProgramData\ssh\ssh_host_ed25519_key.pub" -E sha256
ssh username@windows-server.example

详细文档

Microsoft: OpenSSH Server →

Microsoft: OpenSSH keys →

生物识别解锁与安全 →