Interner Fehler beim Herstellen einer Verbindung mit einem virtuellen Azure-Computer über Remotedesktop
Gilt für: ✔️ Windows-VMs
Dieser Artikel beschreibt einen Fehler, der beim Herstellen einer Verbindung mit einem virtuellen Computer in Microsoft Azure auftreten kann.
Notiz
Waren diese Informationen hilfreich? Wir schätzen Ihr Feedback. Bitte verwenden Sie die Schaltfläche Feedback auf dieser Seite, um uns mitzuteilen, wie gut Ihnen dieser Artikel gefallen hat oder wie wir ihn verbessern können.
Symptome
Sie können über das Remotedesktopprotokoll (RDP) keine Verbindung mit einem virtuellen Azure-Computer herstellen. Die Verbindungsherstellung bleibt im Abschnitt zum Konfigurieren der Remotesitzung hängen, oder Sie erhalten die folgende Fehlermeldung:
- RDP internal error (Interner RDP-Fehler)
- Es ist ein interner Fehler aufgetreten.
- This computer can't be connected to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator. (Dieser Computer kann keine Verbindung mit dem Remotecomputer herstellen. Versuchen Sie noch einmal, die Verbindung herzustellen. Wenden Sie sich an den Besitzer des Remotecomputers oder an Ihren Netzwerkadministrator, wenn das Problem weiterhin besteht.)
Ursache
Dieses Problem kann folgende Ursachen haben:
- Der virtuelle Computer wurde möglicherweise angegriffen.
- Es kann nicht auf die lokalen RSA-Verschlüsselungsschlüssel zugegriffen werden.
- Das TLS-Protokoll ist deaktiviert.
- Das Zertifikat ist beschädigt oder abgelaufen.
Lösung
Um dieses Problem zu beheben, führen Sie die Schritte in den folgenden Abschnitten aus. Bevor Sie beginnen, erstellen Sie eine Momentaufnahme des Betriebssystemdatenträgers des betroffenen virtuellen Computers als Sicherung. Weitere Informationen finden Sie unter Erstellen einer Momentaufnahme eines Datenträgers.
Überprüfen der RDP-Sicherheit
Überprüfen Sie zunächst, ob die Netzwerksicherheitsgruppe für den RDP-Port 3389 ungeschützt (offen) ist. Ist sie ungeschützt und wird * als Quell-IP-Adresse für eingehenden Datenverkehr angezeigt, schränken Sie den RDP-Port auf die IP-Adresse eines bestimmten Benutzers ein, und testen Sie dann den RDP-Zugriff. Tritt dabei ein Fehler auf, führen Sie die Schritte im nächsten Abschnitt aus.
Verwenden der seriellen Konsole
Verwenden Sie die serielle Konsole, oder reparieren Sie den virtuellen Computer offline, indem Sie den Betriebssystemdatenträger des virtuellen Computers zu einer Wiederherstellungs-VM zuordnen.
Um zu beginnen, stellen Sie eine Verbindung mit der seriellen Konsole her, und öffnen Sie eine PowerShell-Instanz. Ist die serielle Konsole auf Ihrem virtuellen Computer nicht aktiviert, gehen Sie zum Abschnitt Reparieren des virtuellen Computers im Offlinestatus.
Schritt: 1: Überprüfen des RDP-Ports
Überprüfen Sie in einer PowerShell-Instanz mithilfe des Befehls NETSTAT, ob Port 3389 von anderen Anwendungen verwendet wird:
Netstat -anob |more
Wenn „Termservice.exe“ Port 3389 verwendet, fahren Sie mit Schritt 2 fort. Wenn ein anderer Dienst oder eine andere Anwendung als „Termservice.exe“ Port 3389 verwendet, führen Sie die folgenden Schritte aus:
Beenden Sie den Dienst oder die Anwendung, der bzw. die den Dienst 3389 verwendet:
Stop-Service -Name <ServiceName> -Force
Starten Sie den Terminaldienst:
Start-Service -Name Termservice
Wenn die Anwendung nicht beendet werden kann oder diese Methode nicht für Sie zutrifft, ändern Sie den Port für RDP:
Ändern Sie den Port:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -name PortNumber -value <Hexportnumber> Stop-Service -Name Termservice -Force Start-Service -Name Termservice
Legen Sie die Firewall für den neuen Port fest:
Set-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP" -LocalPort <NEW PORT (decimal)>
Aktualisieren Sie die Netzwerksicherheitsgruppe für den neuen Port im Azure-Portal (RDP-Port).
Schritt 2: Festlegen der richtigen Berechtigungen für das selbstsignierte RDP-Zertifikat
Führen Sie in einer PowerShell-Instanz nacheinander die folgenden Befehle aus, um das selbstsignierte RDP-Zertifikat zu erneuern:
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"
Wenn Sie das Zertifikat mit dieser Methode nicht erneuern können, versuchen Sie, das selbstsignierte RDP-Zertifikat remote zu erneuern:
Geben Sie auf einem funktionierenden virtuellen Computer, der mit dem fehlerhaften virtuellen Computer verbunden ist, mmc in das Feld Ausführen ein, um die Microsoft Management Console zu öffnen.
Wählen Sie im Menü Datei die Option Snap-In hinzufügen/entfernen und dann Zertifikate und Hinzufügen aus.
Wählen Sie Computerkonten und Anderer Computer aus, und fügen Sie anschließend die IP-Adresse des virtuellen Computers hinzu, bei dem Probleme auftreten.
Wechseln Sie zum Ordner Remotedesktop\Zertifikate, klicken Sie mit der rechten Maustaste auf das Zertifikat, und wählen Sie dann Löschen aus.
Starten Sie in einer PowerShell-Instanz auf der seriellen Konsole den Remotedesktop-Konfigurationsdienst neu:
Stop-Service -Name "SessionEnv" Start-Service -Name "SessionEnv"
Setzen Sie die Berechtigungen für den Ordner „MachineKeys“ zurück.
remove-module psreadline md c:\temp 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
Starten Sie den virtuellen Computer neu, und versuchen Sie dann, eine Remotedesktopverbindung mit dem virtuellen Computer herzustellen. Falls der Fehler weiterhin auftritt, fahren Sie mit dem nächsten Schritt fort.
Schritt 3: Aktivieren aller unterstützten TLS-Versionen
Der RDP-Client verwendet TLS 1.0 als Standardprotokoll. Dies kann jedoch in den neuen Standard TLS 1.1 geändert werden. Wenn TLS 1.1 auf dem virtuellen Computer deaktiviert ist, tritt bei der Verbindung ein Fehler auf.
Aktivieren Sie in einer CMD-Instanz das TLS-Protokoll:
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
Beenden Sie vorübergehend die Gruppenrichtlinienaktualisierung, damit die AD-Richtlinie die Änderungen nicht überschreibt:
REG add "HKLM\SYSTEM\CurrentControlSet\Services\gpsvc" /v Start /t REG_DWORD /d 4 /f
Führen Sie einen Neustart des virtuellen Computers aus, damit die Änderungen wirksam werden. Ist das Problem behoben, führen Sie den folgenden Befehl aus, um die Gruppenrichtlinie wieder zu aktivieren:
sc config gpsvc start= auto sc start gpsvc gpupdate /force
Wenn die Änderung zurückgesetzt wird, bedeutet dies, dass eine Active Directory-Richtlinie in Ihrer Unternehmensdomäne vorhanden ist. Sie müssen diese Richtlinie ändern, um zu verhindern, dass das Problem erneut auftritt.
Reparieren des virtuellen Computers im Offlinestatus
Anfügen des Betriebssystemdatenträgers an eine VM für die Wiederherstellung
- Fügen Sie den Betriebssystemdatenträger an einen virtuellen Computer für die Wiederherstellung an.
- Stellen Sie nach dem Anfügen des Betriebssystemdatenträgers an den virtuellen Wiederherstellungscomputer sicher, dass der Datenträger in der Datenträgerverwaltungskonsole als Online gekennzeichnet ist. Beachten Sie den Laufwerkbuchstaben, der dem angefügten Betriebssystemdatenträger zugewiesen ist.
- Stellen Sie eine Remotedesktopverbindung mit dem virtuellen Wiederherstellungscomputer her.
Aktivieren des Sicherungsprotokolls und der seriellen Konsole
Um das Sicherungsprotokoll und die serielle Konsole zu aktivieren, führen Sie das folgende Skript aus.
Öffnen Sie eine Eingabeaufforderungssitzung mit erhöhten Rechten (Als Administrator ausführen).
Führen Sie folgendes Skript aus:
In diesem Skript wird davon ausgegangen, dass der dem angefügten Betriebssystemdatenträger zugewiesene Laufwerkbuchstabe „F“ ist. Ersetzen Sie diesen durch den entsprechenden Wert für Ihren virtuellen Computer.
reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM REM Enable Serial Console bcdedit /store F:\boot\bcd /set {bootmgr} displaybootmenu yes bcdedit /store F:\boot\bcd /set {bootmgr} timeout 5 bcdedit /store F:\boot\bcd /set {bootmgr} bootems yes bcdedit /store F:\boot\bcd /ems {<BOOT LOADER IDENTIFIER>} ON bcdedit /store F:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200 REM Suggested configuration to enable OS Dump REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f reg unload HKLM\BROKENSYSTEM
Zurücksetzen der Berechtigungen für den Ordner „MachineKeys“
Öffnen Sie eine Eingabeaufforderungssitzung mit erhöhten Rechten (Als Administrator ausführen).
Führen Sie das folgende Skript aus. In diesem Skript wird davon ausgegangen, dass der dem angefügten Betriebssystemdatenträger zugewiesene Laufwerkbuchstabe „F“ ist. Ersetzen Sie diesen durch den entsprechenden Wert für Ihren virtuellen Computer.
Md F:\temp icacls F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\BeforeScript_permissions.txt takeown /f "F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /a /r icacls F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\System:(F)" icacls F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\NETWORK SERVICE:(R)" icacls F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)" icacls F:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\AfterScript_permissions.txt
Aktivieren aller unterstützten TLS-Versionen
Öffnen Sie eine Eingabeaufforderungssitzung mit erhöhten Rechten (Als Administrator ausführen), und führen Sie dann die folgenden Befehle aus. Im folgenden Skript wird davon ausgegangen, dass der dem angefügten Betriebssystemdatenträger zugewiesene Laufwerkbuchstabe „F“ ist. Ersetzen Sie diesen durch den entsprechenden Wert Ihres virtuellen Computers.
Überprüfen Sie, welche TLS aktiviert ist:
reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f
Ist der Schlüssel nicht vorhanden oder lautet sein Wert 0, aktivieren Sie das Protokoll durch Ausführung der folgenden Skripts:
REM Enable TLS 1.0, TLS 1.1 and TLS 1.2 REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f
Aktivieren von NLA:
REM Enable NLA REG ADD "HKLM\BROKENSYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f REG ADD "HKLM\BROKENSYSTEM\ControlSet002\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f reg unload HKLM\BROKENSYSTEM
Trennen Sie den Betriebssystemdatenträger, und erstellen Sie den virtuellen Computer erneut. Überprüfen Sie dann, ob das Problem behoben wurde.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.