如何验证Azure虚拟机RDP证书?

时间:2016-01-12 13:16:03

标签: azure certificate rdp azure-virtual-machine

由于某种原因,我的VM的RDP证书指纹已更改。我有办法验证Azure中的新证书指纹吗?

类型:虚拟机(经典),机器:Basic_A3,操作系统:Windows Server

3 个答案:

答案 0 :(得分:3)

Azure中有可用的启动诊断日志,默认情况下在启动虚拟机时启用。这些日志将各种系统参数列为JSON对象,其中包含下面显示的remoteAccess对象。

"remoteAccess": {
    "windows": {
        "rdpPort": 3389,
        "rdpEnabled": true,
        "rdpTcpListenerSecurityConfiguration": {
            "nlaUserAuthenticationRequired": true,
            "authenticationSecurityLayer": "TLS",
            "protocolNegotiationAllowed": true
        },
        "rdpTcpListenerMaxConnections": 2,
        "rdpFirewallAccess": "Allowed",
        "rdpAllowedUsers": [
            "TestUser"
        ],
        "rdpCertificateDetails": {
            "subject": "CN=RDPTest",
            "thumbprint": "9AD7CB3493790BCAB6FBF543EBBBE68883E9EE89",
            "validFrom": "2018-02-17T10:58:42Z",
            "validTo": "2018-08-19T10:58:42Z"
        },
        "rdsLicensingStatus": null
    }
}

如您所见,有一个rdpCertificateDetails对象列出了RDP服务器证书的SHA指纹。与Linux启动诊断日志不同,它每次都会列出指纹,因此无需担心是否在首次启动时没有记录。

当您第一次连接时,会有一个"未知的发布者"警告。

Unknown publisher

点击,然后输入您的凭据。输入您的凭据后,它将显示"身份无法验证"警告。计算机的名称将是Azure中VM的名称。

Identity could not be verified

单击查看证书,然后转到详细信息。在这里,您可以找到指纹来验证启动诊断中的指纹。

Certificate thumbprint

有关在Azure门户中查找引导诊断程序以及获取Linux VM的SSH密钥的详细说明,请参阅this StackOverflow question上的答案。

答案 1 :(得分:1)

如果您使用的是经典虚拟机(ASM),遗留的Azure门户可能会在这里为您提供帮助(manage.windowsazure.com)。我知道对于Linux VM,它会显示SSH指纹,不确定它是否会显示自动注册的RDP证书。如果您启用了VM扩展,那么您应该能够在经典VM上部署密码重置扩展,以便重置RDP配置。但是,门户网站已将其内置。如果您在操作系统和虚拟机模型上添加更多信息,我们可以在这里为您提供更好的帮助。

答案 2 :(得分:1)

这解决了我的问题。

  1. 使用PowerShell登录VM。 (如果您不知道如何操作,请按照this guide。安全登录证书可在新门户网站找到:云服务(经典)>(虚拟机名称)>设置>证书)

  2. 远程执行以下命令:

    set-location cert
    set-location localmachine
    set-location "remote desktop"
    dir
    
  3. 这为您提供了证书指纹。使用它来验证尝试使用远程桌面连接时给出的那个。