【问题标题】:How to verify an Azure virtual machine RDP certificate?如何验证 Azure 虚拟机 RDP 证书?
【发布时间】:2016-04-17 03:09:01
【问题描述】:

我的虚拟机的 RDP 证书指纹由于某种原因发生了更改。有没有办法让我在 Azure 中验证新的证书指纹?

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

【问题讨论】:

  • @MichaelB 看起来 Azure 机器每 6 个月自动更新一次证书。但是谁知道它是否应该是那样的......

标签: azure certificate rdp azure-virtual-machine


【解决方案1】:

如果您使用的是经典 VM (ASM),那么旧版 Azure 门户可能会在此处为您提供帮助 (manage.windowsazure.com)。我知道对于 Linux VM,它会显示 SSH 指纹,但不确定它是否会显示自动注册的 RDP 证书。如果您启用了 VM 扩展,那么如果需要重置 RDP 配置,您应该能够在经典 VM 上部署密码重置扩展。虽然门户已内置它。如果您在 yoru 中提供有关操作系统和 VM 模型的更多信息,我们将能够在这里为您提供更好的帮助。

【讨论】:

  • 谢谢。我添加了一些基本的机器信息。旧版门户中确实存在 RDP 指纹。但是现在,与我连接时得到的不一样。我会试着找出原因。
【解决方案2】:

这解决了我的问题。

  1. 使用 PowerShell 登录 VM。 (如果您不知道如何操作,请关注this guide。安全登录证书位于新门户中:云服务(经典)>(虚拟机名称)>设置>证书)

  2. 远程执行以下命令:

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

【讨论】:

    【解决方案3】:

    在启动虚拟机时,Azure 中有可用的启动诊断日志,默认启用。您可以通过在 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 启动诊断日志不同,它每次都会列出指纹,因此如果没有在第一次启动时记录下来,则无需担心。

    首次连接时,会出现“未知发布者”警告。

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

    单击查看证书,然后转到详细信息。您可以在此处找到指纹,以根据启动诊断中的指纹进行验证。

    有关在 Azure 门户中查找启动诊断以及获取 Linux VM 的 SSH 密钥的更详细说明,请参阅我在 this StackOverflow question 上的回答。

    【讨论】:

    • 我没有在 Serial log 选项卡中看到 JSON 输出。我看到 XML 语法显示各种数据,如 <os-version>,但没有提及 remoteAccess
    • 刚刚测试了这个,是的,他们似乎改变了 Serial log 输出,这是不幸的。不过找到了解决办法。转到 Operations > Run command > RunPowerShellScript 并运行 Get-ChildItem -Path 'Cert:LocalMachine\Remote Desktop' 以提取 RDP 证书指纹。
    猜你喜欢
    • 2018-04-22
    • 2013-10-13
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 2016-11-05
    • 2016-07-27
    • 2023-02-01
    相关资源
    最近更新 更多