Condividi tramite


Risolvere i problemi relativi agli errori di autenticazione quando si usa RDP per connettersi alla macchina virtuale di Azure

Si applica a: ✔️ macchine virtuali di Windows

Questo articolo consente di risolvere gli errori di autenticazione che si verificano quando si usa la connessione RDP (Remote Desktop Protocol) per connettersi a una macchina virtuale (VM) di Azure.

Note

Questo articolo è stato utile? Diamo importanza al contributo degli utenti. Usare il pulsante Feedback in questa pagina per comunicare se questo articolo è stato utile o come possiamo migliorarlo.

Sintomi

Acquisisci uno screenshot di una macchina virtuale di Azure che mostra la schermata di benvenuto e indica che il sistema operativo è in esecuzione. Tuttavia, quando si tenta di connettersi alla macchina virtuale tramite Connessione desktop remoto, viene visualizzato uno dei seguenti messaggi di errore:

  • Si è verificato un errore di autenticazione. Impossibile contattare l'autorità di sicurezza locale.
  • Il computer remoto a cui stai tentando di connetterti richiede l'autenticazione a livello di rete (NLA), ma il tuo controller di dominio Windows non può essere contattato per eseguire NLA. Se si è amministratori nel computer remoto, è possibile disabilitare l'autenticazione a livello di rete usando le opzioni della scheda Remoto nella finestra di dialogo Proprietà di sistema.
  • Il computer non è in grado di connettersi al computer remoto. Provare a eseguire di nuovo la connessione. Se il problema persiste, contattare il proprietario del computer remoto o l'amministratore di rete.

Causa

Esistono diversi motivi per cui NLA potrebbe bloccare l'accesso RDP a una VM:

  • La macchina virtuale non può comunicare con il controller di dominio (DC). Questo problema potrebbe impedire a una sessione RDP di accedere a una macchina virtuale usando le credenziali di dominio. Tuttavia, sarai comunque in grado di accedere utilizzando le credenziali di amministratore locale. Questo problema può verificarsi nelle situazioni seguenti:
    • Il canale di sicurezza di Active Directory tra questa macchina virtuale e il controller di dominio è interrotto.
    • La macchina virtuale ha una vecchia copia della password dell'account e il controller di dominio ha una copia più recente.
    • Il controller di dominio a cui si connette questa macchina virtuale non è integro.
  • Il livello di crittografia della macchina virtuale è superiore a quello usato dal computer client.
  • I protocolli TLS 1.0, 1.1 o 1.2 (server) sono disabilitati nella macchina virtuale. La macchina virtuale è stata configurata per disabilitare l'accesso tramite le credenziali di dominio e l'autorità di sicurezza locale (LSA) è configurata in modo errato.
  • La macchina virtuale è stata configurata per accettare solo connessioni con algoritmi conformi allo standard FIPS (Federal Information Processing Standard). Questo di solito viene fatto utilizzando i criteri di Active Directory. Questa è una configurazione rara, ma FIPS può essere applicato solo per le connessioni Desktop remoto.

Prima di risolvere i problemi

Crea uno snapshot di backup

Per creare uno snapshot di backup, segui i passaggi in Snapshot di un disco.

Connettiti alla VM da remoto

Per connettersi alla macchina virtuale in remoto, usare uno dei metodi in Come usare gli strumenti remoti per risolvere i problemi relativi alle macchine virtuali di Azure.

Servizio client criteri di gruppo

Se si tratta di una macchina virtuale aggiunta al dominio, arrestare innanzitutto il servizio client Criteri di gruppo per impedire a eventuali criteri di Active Directory di sovrascrivere le modifiche. A tale scopo, utilizzare il seguente comando:

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

Dopo che il problema è stato risolto, ripristinare la capacità di questa macchina virtuale di contattare il dominio per recuperare l'oggetto Criteri di gruppo più recente dal dominio. A tale scopo, eseguire i seguenti comandi:

sc config gpsvc start= auto
sc start gpsvc

gpupdate /force

Se la modifica viene ripristinata, significa che un criterio di Active Directory sta causando il problema.

Soluzione alternativa

Come soluzione alternativa per connettersi alla macchina virtuale e risolvere la causa, è possibile disabilitare temporaneamente NLA. Per disabilitare NLA, utilizzare i comandi seguenti oppure lo scriptDisableNLA in Esegui comando.

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

Quindi, riavvia la VM e passa alla sezione relativa alla risoluzione dei problemi.

Una volta risolto il problema, riabilita NLA, eseguendo i seguenti comandi e riavviando la VM:

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

Risoluzione dei problemi

  1. Risolvere i problemi relativi alle macchine virtuali aggiunte a un dominio.
  2. Risolvere i problemi delle macchine virtuali autonome.

Risolvere i problemi relativi alle macchine virtuali aggiunte a un dominio

Per risolvere questo problema:

  1. Verificare se la macchina virtuale può connettersi a un controller di dominio.
  2. Verificare l'integrità del DC

Note

Per testare l'integrità del controller di dominio, è possibile usare un'altra macchina virtuale che si trova nella stessa VNET, subnet e usa lo stesso server di accesso.

Connettiti alla macchina virtuale che presenta il problema utilizzando Console seriale, CMD remoto o PowerShell remoto, in base ai passaggi della sezione Connettiti alla macchina virtuale in remoto.

  1. Determinare il controller di dominio a cui la macchina virtuale sta tentando di connettersi. Nella console, eseguire il comando seguente::

    set | find /i "LOGONSERVER"
    
  2. Testare l'integrità del canale protetto tra la macchina virtuale e il controller di dominio. A tale scopo, eseguire il comando Test-ComputerSecureChannel in un'istanza di PowerShell con privilegi elevati. Questo comando restituisce True o False indicando se il canale protetto è attivo:

    Test-ComputerSecureChannel -verbose
    

    Se il canale è danneggiato, per ripararlo, eseguire il seguente comando:

    Test-ComputerSecureChannel -repair
    
  3. Assicurati che la password dell'account del computer in Active Directory sia aggiornata sulla macchina virtuale e sul controller di dominio:

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

Se la comunicazione tra il controller di dominio e la macchina virtuale è buona, ma il controller di dominio non è sufficientemente integro per aprire una sessione RDP, puoi provare a riavviare il controller di dominio.

Se i comandi precedenti non hanno risolto il problema di comunicazione con il dominio, è possibile riconnettere questa VM al dominio. A tale scopo, effettuare i passaggi seguenti:

  1. Creare uno script denominato Unjoin.ps1 usando il contenuto seguente e quindi distribuire lo script come Custom Script Extension nel portale di Azure:

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

    Questo script rimuove forzatamente la VM dal dominio e la riavvia 10 secondi dopo. Quindi, è necessario ripulire l'oggetto Computer sul lato dominio.

  2. Al termine della pulizia, ricongiungere questa macchina virtuale al dominio. A tale scopo, creare uno script denominato JoinDomain.ps1 usando il contenuto seguente e quindi distribuire lo script come estensione di script personalizzata nel portale di Azure:

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

Note

Questo si unisce alla macchina virtuale nel dominio usando le credenziali specificate.

Se il canale di Active Directory è integro, la password del computer viene aggiornata e il controller di dominio funziona come previsto, provare i passaggi seguenti.

Se il problema persiste, controlla se la credenziale del dominio è disabilitata. A tale scopo, aprire una finestra del prompt dei comandi con privilegi elevati e quindi eseguire il comando seguente per determinare se la macchina virtuale è configurata per disabilitare gli account di dominio per l'accesso alla macchina virtuale:

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

Se la chiave è impostata su 1, significa che il server è stato configurato per non consentire le credenziali del dominio. Cambia questa chiave in 0.

Risolvere i problemi relativi alle macchine virtuali autonome

Controlla MinEncryptionLevel

In un'istanza CMD, esegui il seguente comando per interrogare il valore di registro MinEncryptionLevel:

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

In base al valore del Registro di sistema, attenersi alla seguente procedura:

  • 4 (FIPS): controlla le connessioni degli algoritmi conformi a FIP.

  • 3 (crittografia a 128 bit): impostare la gravità su 2 eseguendo il comando seguente:

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
    
  • 2 (Crittografia massima possibile, come dettato dal client): puoi provare a impostare la crittografia sul valore minimo di 1 eseguendo il seguente comando:

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

Riavvia la macchina virtuale in modo che le modifiche al registro abbiano effetto.

Versione TLS

A seconda del sistema, RDP utilizza il protocollo TLS 1.0, 1.1 o 1.2 (server). Per interrogare come questi protocolli sono impostati sulla VM, apri un'istanza CMD, quindi esegui i seguenti comandi:

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

Se i valori restituiti non sono tutti 1, significa che il protocollo è disabilitato. Per abilitare questi protocolli, eseguire i seguenti comandi:

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

Per altre versioni del protocollo, puoi eseguire i seguenti comandi:

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

Note

Ottieni la versione SSH/TLS x.x dai registri del sistema operativo guest sugli errori SCHANNEL.

Controlla le connessioni degli algoritmi conformi a FIP

Il desktop remoto può essere imposto per utilizzare solo connessioni con algoritmo conformi a FIP. Questo può essere impostato utilizzando una chiave di registro. A tale scopo, aprire una finestra del prompt dei comandi con privilegi elevati e quindi eseguire una query sulle seguenti chiavi:

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

Se il comando restituisce 1, modificare il valore del registro in 0.

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

Controlla qual è il MinEncryptionLevel corrente sulla VM:

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

Se il comando restituisce 4, modificare il valore del registro in 2

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

Riavvia la macchina virtuale in modo che le modifiche al registro abbiano effetto.

Passaggi successivi

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.