1

我有一个使用 azure devops 管道操作的 VM。以前,使用 WinRM 将文件传输到 VM 可以正常工作。但是 vm 的 ram 不适合我们的需要,所以我重新调整了 VM 的大小以添加更多的 ram。由于调整了 VM 的大小,VM 的 IP 地址发生了变化。这导致 WinRM 停止工作。我尝试在控制台中使用 winrm quickconfig -force ,并收到此错误:

无法为 WinRM 启用防火墙。

我从主机为旧 IP 地址的 5986 中删除了 HTTPS 侦听器,但是我无法添加指向正确 IP 的新侦听器。

Start-RemotePSSession 不会失败,或者如果失败了,那么它会默默地失败

我查看了证书,只能看到一个旧 IP 地址: 在此处输入图像描述

如何为我的新 IP 地址添加证书?或者是否有不同/更好的方法来完成我正在尝试做的事情(让 winrm 再次工作)

4

1 回答 1

1

由于您有一个旧证书颁发给旧公共 IP 地址,因此您可以生成一个颁发给新公共 IP 地址的新证书。

例如,

1. 进入虚拟机控制台,生成自签名证书进行测试。

$certificateName = "51.x.x.x"

$thumbprint = (New-SelfSignedCertificate -DnsName $certificateName -CertStoreLocation Cert:\LocalMachine\My -KeySpec KeyExchange).Thumbprint

删除旧的 https 侦听器并为 https 侦听器绑定新证书。

winrm delete winrm/config/listener?Address=*+Transport=HTTPS

$thumbprint="7AD714C2AA0EF690EEFxxxxxxD"

New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $thumbprint  –Force

枚举听众。

  winrm e winrm/config/listener

注意:winrm quickconfig根据我的验证,这不适用于自签名证书。您可以按照上述步骤进行管理。如果您在 Azure VM 内的 Windows 防火墙中未允许端口 5986,则可以使用 PowerShell 启用它。如果 Azure VM 子网或关联的 NIC 中存在网络安全组,则还需要为 HTTPS 端口启用它。阅读此博客了解更多详情。

New-NetFirewallRule -DisplayName "winrmhttps" -Direction Inbound -LocalPort 5986 -Protocol TCP -Action Allow -RemoteAddress Any

于 2020-11-04T05:58:49.850 回答