了解和修复 WinRM 证书错误
没有.
This error occurs when you attempt to establish a remote connection via Windows Remote Management (WinRM) using HTTPS, but the SSL/TLS certificate used to secure the connection fails validation. The WinRM client is highly strict about identity verification.
这个错误突出了一个特定的证书架构故障:
- Missing DNS Name: The certificate lacks a valid routing identifier (like the hostname or Fully Qualified Domain Name) inside the Subject Name 或是 Subject Alternative Name (SAN) 这里有田野.
- Presence of a UPN: 证书错误地包含一个 User Principal Name (UPN) (例如,
user@domain.com),这表明它是为了用户身份验证而不是计算机/主机身份验证而发布的.
WinRM需要专用机器证书来验证远程计算机在传递敏感凭证之前确实是它所声称的.
逐步修复:生成并绑定有效证书
为了解决这个问题,您必须生成一个兼容的计算机证书并将其绑定到 WinRM HTTPS 收听器. 在目标远程机器上执行这些步骤.
步骤1: 打开PowerShell作为管理员
- 按下 Windows Key 在你的键盘上.
- 它们的类型 PowerShell.
- 按下右键 Windows PowerShell 根据结果.
- 选择 Run as administrator.
步骤2:创建合规的自签证证书
运行下面命令创建一个证书,在主题字段中明确使用计算机的完全合格域名 (FQDN),并确保没有附加 UPN.
New-SelfSignedCertificate -DnsName \(env:COMPUTERNAME -CertStoreLocation Cert:\LocalMachine\My -Subject\)env:COMPUTERNAME
记下 Thumbprint 在输出中显示的字符串.您将需要它进行下一步.
步骤3:删除现有的破损的WinRM HTTPS 收听器
如果您之前试图配置 WinRM HTTPS,则可能有一个无效的收听器正在阻止端口. 通过运行删除:
Remove-Item -Path WSMan:\Localhost\Listener\* -Recurse -ErrorAction SilentlyContinue
步骤4:使用有效证书创建新的WinRM HTTPS收听器
取代 YOUR_CERTIFICATE_THUMBPRINT 用你从步骤2复制的字符串,然后运行命令:
New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbprint "YOUR_CERTIFICATE_THUMBPRINT"
步骤5:在Windows防火墙中打开端口5986
WinRM HTTPS 流量通过 5986 端口进行通信. 确保您的防火墙通过执行:
New-NetFirewallRule -DisplayName "Windows Remote Management (HTTPS-In)" -Name "WinRM_HTTPS" -Profile Any -LocalPort 5986 -Protocol TCP -Action Allow -Direction Inbound
步骤6:验证设置
检查是否听器是活跃的和正确配置您的新证书参数:
winrm enumerate winrm/config/listener
在哪里找入口? Transport = HTTPS 确保您的主机匹配证书属性.您现在可以安全地尝试从客户机进行远程连接.
ERROR_WSMAN_CLIENT_CREDENTIALS_FOR_DEFAULT_AUTHENTICATION | ERROR_WSMAN_CLIENT_USERNAME_AND_PASSWORD_NEEDED | ERROR_WSMAN_CREATESHELL_NULL_ENVIRONMENT_VARIABLE_NAME | ERROR_WSMAN_SHELL_ALREADY_CLOSED | ERROR_WSMAN_CREATESHELL_NULL_STREAMID可能有一些错误.. Learn Microsoft