Dela via


Felsöka Azure VM RDP-anslutningsfel efter händelse-ID

Gäller för: ✔️ Virtuella Windows-datorer

Den här artikeln beskriver hur du använder händelse-ID:n för att felsöka problem som förhindrar en RDP-anslutning (Remote Desktop Protocol) till en virtuell Azure-dator (VM).

Symtom

Du försöker använda en RDP-session (Remote Desktop Protocol) för att ansluta till en virtuell Azure-dator. När du har angett dina autentiseringsuppgifter misslyckas anslutningen och du får följande felmeddelande:

Den här datorn kan inte ansluta till fjärrdatorn. Försök att ansluta igen. Om problemet kvarstår kontaktar du fjärrdatorns ägare eller nätverksadministratören.

Om du vill felsöka det här problemet granskar du händelseloggarna på den virtuella datorn och läser sedan följande scenarier.

Innan du felsöker

Skapa en ögonblicksbild av säkerhetskopian

Om du vill skapa en ögonblicksbild av säkerhetskopian följer du stegen i Ögonblicksbild av en disk.

Ansluta till den virtuella datorn via fjärranslutning

Om du vill ansluta till den virtuella datorn via en fjärranslutning använder du någon av metoderna i Så här använder du fjärrverktyg för att felsöka problem med virtuella Azure-datorer.

Scenario 1

Händelseloggar

I en CMD-instans kör du följande kommandon för att kontrollera om händelse 1058 eller händelse 1057 loggas i systemloggen under de senaste 24 timmarna:

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

Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1058
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte ersätta det förfallna självsignerade certifikatet som används för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Relevant statuskod var Åtkomst nekas.

Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1058
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte skapa ett nytt självsignerat certifikat som ska användas för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Relevant statuskod var objekt finns redan.

Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1057
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte skapa ett nytt självsignerat certifikat som ska användas för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Den relevanta statuskoden var Keyset finns inte

Du kan också söka efter SCHANNEL-felhändelserna 36872 och 36870 genom att köra följande kommandon:

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

Loggnamn: System
Källa: Schannel
Datum:
Händelse-ID: 36870
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: dator
Beskrivning: Ett allvarligt fel uppstod vid försök att komma åt den privata nyckeln för TLS-serverns autentiseringsuppgifter. Felkoden som returnerades från krypteringsmodulen är 0x8009030d.
Det interna feltillståndet är 10001.

Orsak

Det här problemet beror på att det inte går att komma åt de lokala RSA-krypteringsnycklarna i mappen MachineKeys på den virtuella datorn. Det här problemet kan inträffa av någon av följande orsaker:

  1. Fel behörighetskonfiguration i mappen Machinekeys eller RSA-filerna.

  2. Skadad eller saknad RSA-nyckel.

Åtgärd

Om du vill felsöka det här problemet måste du konfigurera rätt behörigheter för RDP-certifikatet med hjälp av de här stegen.

Bevilja behörighet till mappen MachineKeys

  1. Skapa ett skript med hjälp av följande innehåll:

    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. Kör det här skriptet för att återställa behörigheterna för mappen MachineKey och återställa RSA-filerna till standardvärdena.

  3. Försök att komma åt den virtuella datorn igen.

När du har kört skriptet kan du kontrollera följande filer som har problem med behörigheter:

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

Förnya självsignerat RDP-certifikat

Om problemet kvarstår kör du följande skript för att kontrollera att det självsignerade RDP-certifikatet förnyas:

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"

Om du inte kan förnya certifikatet följer du dessa steg för att försöka ta bort certifikatet:

  1. På en annan virtuell dator i samma virtuella nätverk öppnar du rutan Kör , skriver mmc och trycker sedan på OK.

  2. Arkiv-menyn väljer du snapin-modulen Lägg till/Ta bort.

  3. I listan Tillgängliga snapin-moduler väljer du Certifikat och sedan Lägg till.

  4. Välj Datorkonto och sedan Nästa.

  5. Välj En annan dator och lägg sedan till IP-adressen för den virtuella dator som har problem.

    Kommentar

    Försök att använda det interna nätverket för att undvika att använda en virtuell IP-adress.

  6. Välj Avsluta, och välj OK.

    Skärmbild av alternativet Annan dator i dialogrutan Välj dator.

  7. Expandera certifikaten, gå till mappen Fjärrskrivbord\Certifikat, högerklicka på certifikatet och välj sedan Ta bort.

  8. Starta om konfigurationstjänsten för fjärrskrivbord:

    net stop SessionEnv
    net start SessionEnv
    

    Kommentar

    Om du nu uppdaterar arkivet från mmc visas certifikatet igen.

Försök att komma åt den virtuella datorn med hjälp av RDP igen.

Uppdatera TLS/SSL-certifikat

Om du konfigurerar den virtuella datorn att använda ett TLS/SSL-certifikat kör du följande kommando för att hämta tumavtrycket. Kontrollera sedan om det är samma som certifikatets tumavtryck:

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

Om det inte är det ändrar du tumavtrycket:

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

Du kan också försöka ta bort nyckeln så att RDP använder det självsignerade certifikatet för RDP:

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

Scenario 2

Händelseloggen

I en CMD-instans kör du följande kommandon för att kontrollera om SCHANNEL-felhändelsen 36871 loggas i systemloggen under de senaste 24 timmarna:

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

Loggnamn: System
Källa: Schannel
Datum:
Händelse-ID: 36871
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: dator
Beskrivning: Ett allvarligt fel uppstod när en TLS-server för autentiseringsuppgifter skapades. Det interna feltillståndet är 10013.

Orsak

Det här problemet orsakas av säkerhetsprinciper. När äldre versioner av TLS (till exempel 1.0) inaktiveras misslyckas RDP-åtkomsten.

Åtgärd

RDP använder TLS 1.0 som standardprotokoll. Protokollet kan dock ändras till TLS 1.1, vilket är den nya standarden.

Information om hur du felsöker det här problemet finns i Felsöka autentiseringsfel när du använder RDP för att ansluta till en virtuell Azure-dator.

Scenario 3

Om du har installerat rollen Anslutningsutjämning för fjärrskrivbord på den virtuella datorn kontrollerar du om det finns händelse 2056 eller händelse 1296 under de senaste 24 timmarna. Kör följande kommandon i en CMD-instans:

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

Loggnamn: Microsoft-Windows-TerminalServices-SessionBroker/Operational
Källa: Microsoft-Windows-TerminalServices-SessionBroker
Datum: tid
Händelse-ID: 2056
Aktivitetskategori: (109)
Nivå: Fel
Nyckelord:
Användare: NÄTVERKSTJÄNST
Dator: dator fqdn
Beskrivning: Det går inte att hitta beskrivningen för händelse-ID 2056 från källan Microsoft-Windows-TerminalServices-SessionBroker. Antingen är komponenten som genererar den här händelsen inte installerad på den lokala datorn eller så är installationen skadad. Du kan installera eller reparera komponenten på den lokala datorn.
Om händelsen har sitt ursprung på en annan dator måste visningsinformationen sparas med händelsen.
Följande information ingick i händelsen:
NOLL
NOLL
Inloggningen till databasen misslyckades.

Loggnamn: Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational
Källa: Microsoft-Windows-TerminalServices-SessionBroker-Client
Datum: tid
Händelse-ID: 1296
Aktivitetskategori: (104)
Nivå: Fel
Nyckelord:
Användare: NÄTVERKSTJÄNST
Dator: dator fqdn
Beskrivning: Det går inte att hitta beskrivningen för händelse-ID 1296 från källan Microsoft-Windows-TerminalServices-SessionBroker-Client. Antingen är komponenten som genererar den här händelsen inte installerad på den lokala datorn eller så är installationen skadad. Du kan installera eller reparera komponenten på den lokala datorn. Om händelsen har sitt ursprung på en annan dator måste visningsinformationen sparas med händelsen. Följande information ingick i händelsen:
text
text
Anslutningsutjämning för fjärrskrivbord är inte redo för RPC-kommunikation.

Orsak

Det här problemet beror på att värdnamnet för servern för anslutningsutjämning för fjärrskrivbord har ändrats, vilket inte är en ändring som stöds.

Värdnamnet har poster och beroenden på Interna baza podataka operativnog sistema Windows, vilket krävs av fjärrskrivbordstjänstgruppen för att kunna fungera. Att ändra värdnamnet när servergruppen redan har skapats orsakar många fel och kan leda till att koordinatorservern slutar fungera.

Åtgärd

För att åtgärda det här problemet måste rollen Anslutningsutjämning för fjärrskrivbord och Interna baza podataka operativnog sistema Windows installeras om.

Nästa steg

Schannel-händelser

Teknisk översikt över Schannel SSP

RDP misslyckas med händelse-ID 1058 och händelse 36870 med värdcertifikat för fjärrskrivbordssession och SSL-kommunikation

Schannel 36872 eller Schannel 36870 på en domänkontrollant

Händelse-ID 1058 – Autentisering och kryptering för fjärrskrivbordstjänster

Kontakta oss om du behöver hjälp

Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.