Problemen met RDP-verbinding met Azure VM oplossen op gebeurtenis-id

In dit artikel wordt uitgelegd hoe u gebeurtenis-id's gebruikt om problemen op te lossen die een RDP-verbinding (Remote Desktop Protocol) met een virtuele Azure-machine (VM) verhinderen.

Symptomen

U probeert een RDP-sessie (Remote Desktop Protocol) te gebruiken om verbinding te maken met een Azure-VM. Nadat u uw referenties hebt ingevoerd, mislukt de verbinding en ontvangt u het volgende foutbericht:

Deze computer kan geen verbinding maken met de externe computer. Probeer opnieuw verbinding te maken. Als het probleem zich blijft voordoen, neemt u contact op met de eigenaar van de externe computer of de netwerkbeheerder.

Als u dit probleem wilt oplossen, bekijkt u de gebeurtenislogboeken op de VM en raadpleegt u de volgende scenario's.

Voordat u problemen oplost

Een back-upmomentopname maken

Volg de stappen in Een schijf maken om een back-upmomentopname te maken.

Op afstand verbinding maken met de VM

Als u op afstand verbinding wilt maken met de VM, gebruikt u een van de methoden in Externe hulpprogramma's gebruiken om problemen met Azure-VM's op te lossen.

Scenario 1

Gebeurtenislogboeken

Voer in een CMD-exemplaar de volgende opdrachten uit om te controleren of gebeurtenis 1058 of gebeurtenis 1057 in de afgelopen 24 uur is vastgelegd in het systeemlogboek:

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-TerminalServices-RemoteConnectionManager'] and EventID=1058 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-TerminalServices-RemoteConnectionManager'] and EventID=1057 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more

Logboeknaam: Systeem
Bron: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum:tijd
Gebeurtenis-id: 1058
Taakcategorie: Geen
Niveau: Fout
Zoekwoorden: Klassieke
Gebruiker: N/A
Computer:computer
Beschrijving: De RD-sessiehostserver kan het verlopen zelfondertekende certificaat dat wordt gebruikt voor verificatie van rd-sessiehostserver op TLS-verbindingen, niet vervangen. De relevante statuscode was Toegang is geweigerd.

Logboeknaam: Systeem
Bron: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum:tijd
Gebeurtenis-id: 1058
Taakcategorie: Geen
Niveau: Fout
Zoekwoorden: Klassieke
Gebruiker: N/A
Computer:computer
Beschrijving: De RD-sessiehostserver kan geen nieuw zelfondertekend certificaat maken dat moet worden gebruikt voor verificatie van rd-sessiehostservers op TLS-verbindingen. De relevante statuscode was object bestaat al.

Logboeknaam: Systeem
Bron: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum:tijd
Gebeurtenis-id: 1057
Taakcategorie: Geen
Niveau: Fout
Zoekwoorden: Klassieke
Gebruiker: N/A
Computer:computer
Beschrijving: De RD-sessiehostserver kan geen nieuw zelfondertekend certificaat maken dat moet worden gebruikt voor verificatie van RD Session Host Server op TLS-verbindingen. De relevante statuscode keyset bestaat niet

U kunt ook controleren op SCHANNEL-foutgebeurtenissen 36872 en 36870 door de volgende opdrachten uit te voeren:

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36870 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36872 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more

Logboeknaam: Systeem
Bron: Schannel
Datum:
Gebeurtenis-id: 36870
Taakcategorie: Geen
Niveau: Fout
Zoekwoorden:
Gebruiker: SYSTEEM
Computer:computer
Beschrijving: Er is een fatale fout opgetreden bij het openen van de persoonlijke sleutel van de TLS-serverreferentie. De foutcode die wordt geretourneerd door de cryptografische module is 0x8009030D.
De status van de interne fout is 10001.

Oorzaak

Dit probleem treedt op omdat de lokale RSA-versleutelingssleutels in de map MachineKeys op de VM niet kunnen worden geopend. Dit probleem kan een van de volgende oorzaken hebben:

  1. Onjuiste configuratie van machtigingen voor de map Machinekeys of de RSA-bestanden.

  2. Beschadigde of ontbrekende RSA-sleutel.

Oplossing

Als u dit probleem wilt oplossen, moet u de juiste machtigingen voor het RDP-certificaat instellen met behulp van deze stappen.

Machtiging verlenen aan de map MachineKeys

  1. Maak een script met behulp van de volgende inhoud:

    remove-module psreadline 
    icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\BeforeScript_permissions.txt
    takeown /f "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /a /r
    icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\System:(F)"
    icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\NETWORK SERVICE:(R)"
    icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"
    icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\AfterScript_permissions.txt
    Restart-Service TermService -Force
    
  2. Voer dit script uit om de machtigingen van de map MachineKey opnieuw in te stellen en de RSA-bestanden opnieuw in te stellen op de standaardwaarden.

  3. Probeer opnieuw toegang te krijgen tot de VM.

Nadat u het script hebt uitgevoerd, kunt u de volgende bestanden controleren die problemen ondervinden met machtigingen:

  • c:\temp\BeforeScript_permissions.txt
  • c:\temp\AfterScript_permissions.txt

Zelfondertekend RDP-certificaat vernieuwen

Als het probleem zich blijft voordoen, voert u het volgende script uit om ervoor te zorgen dat het zelfondertekende RDP-certificaat wordt vernieuwd:

Import-Module PKI
Set-Location Cert:\LocalMachine
$RdpCertThumbprint = 'Cert:\LocalMachine\Remote Desktop\'+((Get-ChildItem -Path 'Cert:\LocalMachine\Remote Desktop\').thumbprint)
Remove-Item -Path $RdpCertThumbprint
Stop-Service -Name "SessionEnv"
Start-Service -Name "SessionEnv"

Als u het certificaat niet kunt vernieuwen, volgt u deze stappen om het certificaat te verwijderen:

  1. Open op een andere VM in hetzelfde VNET het vak Uitvoeren , typ mmc en druk op OK.

  2. Selecteer in het menu Bestand de optie Module toevoegen/verwijderen.

  3. Selecteercertificaten in de lijst Beschikbare modules en selecteer vervolgens Toevoegen.

  4. Selecteer Computeraccount en selecteer vervolgens Volgende.

  5. Selecteer Een andere computer en voeg vervolgens het IP-adres toe van de VM die problemen ondervindt.

    Opmerking

    Gebruik het interne netwerk om te voorkomen dat u een virtueel IP-adres gebruikt.

  6. Selecteer Voltooien en selecteer vervolgens OK.

    Schermopname van de optie Andere computer in het dialoogvenster Computer selecteren.

  7. Vouw de certificaten uit, ga naar de map Extern bureaublad\Certificaten, klik met de rechtermuisknop op het certificaat en selecteer verwijderen.

  8. Start de extern bureaublad-configuratieservice opnieuw op:

    net stop SessionEnv
    net start SessionEnv
    

    Opmerking

    Als u op dit moment het archief vernieuwt vanuit mmc, wordt het certificaat opnieuw weergegeven.

Probeer opnieuw toegang te krijgen tot de VM met behulp van RDP.

TLS/SSL-certificaat bijwerken

Als u de VM instelt voor het gebruik van een TLS/SSL-certificaat, voert u de volgende opdracht uit om de vingerafdruk op te halen. Controleer vervolgens of deze hetzelfde is als de vingerafdruk van het certificaat:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash

Als dat niet zo is, wijzigt u de vingerafdruk:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash /t REG_BINARY /d <CERTIFICATE THUMBPRINT>

U kunt ook proberen de sleutel te verwijderen, zodat de RDP het zelfondertekende certificaat voor RDP gebruikt:

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash

Scenario 2

Gebeurtenislogboek

Voer in een CMD-exemplaar de volgende opdrachten uit om te controleren of SCHANNEL-foutgebeurtenis 36871 in de afgelopen 24 uur is geregistreerd in het systeemlogboek:

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36871 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more

Logboeknaam: Systeem
Bron: Schannel
Datum:
Gebeurtenis-id: 36871
Taakcategorie: Geen
Niveau: Fout
Zoekwoorden:
Gebruiker: SYSTEEM
Computer:computer
Beschrijving: Er is een fatale fout opgetreden tijdens het maken van een TLS-serverreferentie. De status van de interne fout is 10013.

Oorzaak

Dit probleem wordt veroorzaakt door beveiligingsbeleid. Wanneer oudere versies van TLS (zoals 1.0) zijn uitgeschakeld, mislukt RDP-toegang.

Oplossing

RDP gebruikt TLS 1.0 als het standaardprotocol. Het protocol kan echter worden gewijzigd in TLS 1.1, de nieuwe standaard.

Zie Verificatiefouten oplossen wanneer u RDP gebruikt om verbinding te maken met azure-VM om dit probleem op te lossen.

Scenario 3

Als u de rol Extern bureaublad Connection Broker op de VM hebt geïnstalleerd, controleert u of er in de afgelopen 24 uur gebeurtenis 2056 of gebeurtenis 1296 is. Voer in een CMD-exemplaar de volgende opdrachten uit:

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name=' Microsoft-Windows-TerminalServices-SessionBroker '] and EventID=2056 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name=' Microsoft-Windows-TerminalServices-SessionBroker-Client '] and EventID=1296 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more

Logboeknaam: Microsoft-Windows-TerminalServices-SessionBroker/Operational
Bron: Microsoft-Windows-TerminalServices-SessionBroker
Datum:tijd
Gebeurtenis-id: 2056
Taakcategorie: (109)
Niveau: Fout
Zoekwoorden:
Gebruiker: NETWERKSERVICE
Computer:computer fqdn
Beschrijving: De beschrijving voor gebeurtenis-id 2056 van bron Microsoft-Windows-TerminalServices-SessionBroker is niet gevonden. Het onderdeel dat deze gebeurtenis genereert, is niet geïnstalleerd op uw lokale computer of de installatie is beschadigd. U kunt het onderdeel installeren of herstellen op de lokale computer.
Als de gebeurtenis afkomstig is van een andere computer, moest de weergave-informatie worden opgeslagen met de gebeurtenis.
De volgende informatie is opgenomen in de gebeurtenis:
NULL
NULL
Aanmelden bij de database is mislukt.

Logboeknaam: Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational
Bron: Microsoft-Windows-TerminalServices-SessionBroker-Client
Datum:tijd
Gebeurtenis-id: 1296
Taakcategorie: (104)
Niveau: Fout
Zoekwoorden:
Gebruiker: NETWERKSERVICE
Computer:computer fqdn
Beschrijving: De beschrijving voor gebeurtenis-id 1296 van de bron Microsoft-Windows-TerminalServices-SessionBroker-Client is niet gevonden. Het onderdeel dat deze gebeurtenis genereert, is niet geïnstalleerd op uw lokale computer of de installatie is beschadigd. U kunt het onderdeel installeren of herstellen op de lokale computer. Als de gebeurtenis afkomstig is van een andere computer, moest de weergave-informatie worden opgeslagen met de gebeurtenis. De volgende informatie is opgenomen in de gebeurtenis:
Tekst
Tekst
Extern bureaublad Connection Broker is niet gereed voor RPC-communicatie.

Oorzaak

Dit probleem treedt op omdat de hostnaam van de Extern bureaublad Connection Broker-server is gewijzigd. Dit is geen ondersteunde wijziging.

De hostnaam heeft vermeldingen en afhankelijkheden van de Windows Interne database. Dit is vereist voor de extern bureaublad-servicefarm om te kunnen werken. Het wijzigen van de hostnaam nadat de farm al is gebouwd, veroorzaakt veel fouten en kan ertoe leiden dat de brokerserver niet meer werkt.

Oplossing

U kunt dit probleem oplossen door de rol Extern bureaublad Connection Broker en de Windows Interne database opnieuw te installeren.

Volgende stappen

Schannelgebeurtenissen

Schannel SSP Technical Overview

RDP mislukt met gebeurtenis-id 1058 & gebeurtenis 36870 met extern bureaublad-sessiehostcertificaat & SSL-communicatie

Schannel 36872 of Schannel 36870 op een domeincontroller

Gebeurtenis-id 1058: verificatie en versleuteling van Extern bureaublad-services

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.