Dela via


Felsöka autentiseringsfel när du använder RDP för att ansluta till en virtuell Azure-dator

Den här artikeln kan hjälpa dig att felsöka autentiseringsfel som uppstår när du använder RDP-anslutning (Remote Desktop Protocol) för att ansluta till en virtuell Azure-dator (VM).

Obs!

Var den här artikeln användbar? Dina indata är viktiga för oss. Använd knappen Feedback på den här sidan för att berätta hur bra den här artikeln fungerade för dig eller hur vi kan förbättra den.

Symptom

Du tar en skärmbild av en virtuell Azure-dator som visar välkomstskärmen och anger att operativsystemet körs. Men när du försöker ansluta till den virtuella datorn med hjälp av anslutning till fjärrskrivbord får du något av följande felmeddelanden:

  • Ett autentiseringsfel har uppstått. Det går inte att kontakta den lokala säkerhetsmyndigheten.
  • Fjärrdatorn som du försöker ansluta till kräver autentisering på nätverksnivå (NLA), men windows-domänkontrollanten kan inte kontaktas för att utföra NLA. Om du är administratör på fjärrdatorn kan du inaktivera NLA med hjälp av alternativen på fliken Fjärr i dialogrutan Systemegenskaper.
  • Den här datorn kan inte ansluta till fjärrdatorn. Försök att ansluta igen. Om problemet kvarstår kontaktar du ägaren till fjärrdatorn eller nätverksadministratören.

Orsak

Det finns flera orsaker till varför NLA kan blockera RDP-åtkomsten till en virtuell dator:

  • Den virtuella datorn kan inte kommunicera med domänkontrollanten (DC). Det här problemet kan hindra en RDP-session från att komma åt en virtuell dator med hjälp av domänautentiseringsuppgifter. Du skulle dock fortfarande kunna logga in med autentiseringsuppgifterna lokal administratör. Det här problemet kan uppstå i följande situationer:
    • Active Directory-säkerhetskanalen mellan den här virtuella datorn och domänkontrollanten är bruten.
    • Den virtuella datorn har en gammal kopia av kontolösenordet och domänkontrollanten har en nyare kopia.
    • Den domänkontrollant som den här virtuella datorn ansluter till är inte felfri.
  • Krypteringsnivån för den virtuella datorn är högre än den som används av klientdatorn.
  • Protokollen TLS 1.0, 1.1 eller 1.2 (server) är inaktiverade på den virtuella datorn. Den virtuella datorn konfigurerades för att inaktivera loggning med hjälp av domänautentiseringsuppgifter och den lokala säkerhetsmyndigheten (LSA) har konfigurerats felaktigt.
  • Den virtuella datorn har konfigurerats för att endast acceptera FIPS-kompatibla algoritmanslutningar (Federal Information Processing Standard). Detta görs vanligtvis med hjälp av En Active Directory-princip. Detta är en sällsynt konfiguration, men FIPS kan endast tillämpas för fjärrskrivbordsanslutningar.

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.

Fjärransluta till den virtuella datorn

Om du vill fjärransluta till den virtuella datorn 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.

Klienttjänst för grupprincip

Om det här är en domänansluten virtuell dator stoppar du först grupprincip-klienttjänsten för att förhindra att någon Active Directory-princip skriver över ändringarna. Det gör du genom att köra följande kommando:

REM Disable the member server to retrieve the latest GPO from the domain upon start
REG add "HKLM\SYSTEM\CurrentControlSet\Services\gpsvc" /v Start /t REG_DWORD /d 4 /f

När problemet har åtgärdats kan du återställa möjligheten för den här virtuella datorn att kontakta domänen för att hämta det senaste grupprincipobjektet från domänen. Gör detta genom att köra följande kommando:

sc config gpsvc start= auto
sc start gpsvc

gpupdate /force

Om ändringen återställs innebär det att en Active Directory-princip orsakar problemet.

Lösning

Som en lösning för att ansluta till den virtuella datorn och lösa orsaken kan du tillfälligt inaktivera NLA. Om du vill inaktivera NLA använder du kommandona nedan eller använder skriptet DisableNLA i Kör kommando.

REM Disable the Network Level Authentication
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0

Starta sedan om den virtuella datorn och fortsätt till felsökningsavsnittet.

När du har löst problemet återaktiverar du NLA genom att köra följande kommandon och sedan starta om den virtuella datorn:

REG add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds /t REG_DWORD /d 0 /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f

Felsökning

  1. Felsöka domänanslutna virtuella datorer.
  2. Felsöka fristående virtuella datorer.

Felsöka domänanslutna virtuella datorer

Så här felsöker du problemet:

  1. Kontrollera om den virtuella datorn kan ansluta till en domänkontrollant.
  2. Kontrollera hälsotillståndet för domänkontrollanten.

Obs!

Om du vill testa DC-hälsotillståndet kan du använda en annan virtuell dator som finns i samma virtuella nätverk, undernät och använder samma inloggningsserver.

Anslut till den virtuella dator som har problemet med hjälp av seriekonsolen, fjärr-CMD eller fjärr-PowerShell, enligt stegen i fjärranslutningen till den virtuella datorn .

  1. Fastställ den domänkontrollant som den virtuella datorn försöker ansluta till. kör följande kommando i konsolen:

    set | find /i "LOGONSERVER"
    
  2. Testa hälsotillståndet för den säkra kanalen mellan den virtuella datorn och domänkontrollanten. Det gör du genom att Test-ComputerSecureChannel köra kommandot i en upphöjd PowerShell-instans. Det här kommandot returnerar Sant eller Falskt som anger om den säkra kanalen är aktiv:

    Test-ComputerSecureChannel -verbose
    

    Om kanalen är bruten kör du följande kommando för att reparera den:

    Test-ComputerSecureChannel -repair
    
  3. Kontrollera att lösenordet för datorkontot i Active Directory har uppdaterats på den virtuella datorn och domänkontrollanten:

    Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
    

Om kommunikationen mellan domänkontrollanten och den virtuella datorn är bra, men domänkontrollanten inte är tillräckligt felfri för att öppna en RDP-session, kan du försöka starta om domänkontrollanten.

Om föregående kommandon inte åtgärdade kommunikationsproblemet till domänen kan du återansluta den virtuella datorn till domänen. Gör så här:

  1. Skapa ett skript med namnet Unjoin.ps1 med hjälp av följande innehåll och distribuera sedan skriptet som ett anpassat skripttillägg på Azure Portal:

    cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
    

    Det här skriptet tar bort den virtuella datorn från domänen och startar om den virtuella datorn 10 sekunder senare. Sedan måste du rensa datorobjektet på domänsidan.

  2. När rensningen är klar återansluter du den virtuella datorn till domänen. Det gör du genom att skapa ett skript med namnet JoinDomain.ps1 med hjälp av följande innehåll och sedan distribuera skriptet som ett anpassat skripttillägg på Azure Portal:

    cmd /c "netdom join <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10"
    

Obs!

Detta ansluter den virtuella datorn till domänen med hjälp av de angivna autentiseringsuppgifterna.

Om Active Directory-kanalen är felfri uppdateras datorlösenordet och domänkontrollanten fungerar som förväntat. Prova följande steg.

Om problemet kvarstår kontrollerar du om domänautentiseringsuppgifterna är inaktiverade. Det gör du genom att öppna ett upphöjt kommandotolksfönster och sedan köra följande kommando för att avgöra om den virtuella datorn har konfigurerats för att inaktivera domänkonton för att logga in på den virtuella datorn:

REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds

Om nyckeln är inställd på 1 innebär det att servern har konfigurerats för att inte tillåta domänautentiseringsuppgifter. Ändra den här nyckeln till 0.

Felsöka fristående virtuella datorer

Kontrollera MinEncryptionLevel

Kör följande kommando i en CMD-instans för att fråga registervärdet MinEncryptionLevel :

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

Följ dessa steg baserat på registervärdet:

  • 4 (FIPS): Kontrollera FIPs-kompatibla algoritmanslutningar.

  • 3 (128-bitars kryptering): Ange allvarlighetsgraden till 2 genom att köra följande kommando:

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
    
  • 2 (Högsta möjliga kryptering, enligt klientens krav): Du kan försöka ställa in krypteringen på minimivärdet 1 genom att köra följande kommando:

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 1 /f
    

Starta om den virtuella datorn så att ändringarna i registret börjar gälla.

TLS-version

Beroende på systemet använder RDP protokollet TLS 1.0, 1.1 eller 1.2 (server). Om du vill fråga hur dessa protokoll konfigureras på den virtuella datorn öppnar du en CMD-instans och kör sedan följande kommandon:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled

Om de returnerade värdena inte är alla 1 innebär det att protokollet är inaktiverat. Om du vill aktivera dessa protokoll kör du följande kommandon:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f

För andra protokollversioner kan du köra följande kommandon:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled

Obs!

Hämta SSH/TLS-versionen x.x från gästoperativsystemloggarna på SCHANNEL-felen.

Kontrollera fips-kompatibla algoritmanslutningar

Fjärrskrivbord kan tillämpas för att endast använda FIPs-kompatibla algoritmanslutningar. Detta kan anges med hjälp av en registernyckel. Det gör du genom att öppna ett upphöjt kommandotolksfönster och sedan köra frågor mot följande nycklar:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled

Om kommandot returnerar 1 ändrar du registervärdet till 0.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0

Kontrollera vilken som är aktuell MinEncryptionLevel på den virtuella datorn:

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

Om kommandot returnerar 4 ändrar du registervärdet till 2

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2

Starta om den virtuella datorn så att ändringarna i registret börjar gälla.

Nästa steg

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.