Direkt zum Inhalt

Wie behebe ich Authentifizierungsfehler, wenn ich RDP verwende, um eine Verbindung zu einer EC2-Windows-Instance herzustellen?

Lesedauer: 8 Minute
0

Ich erhalte Authentifizierungsfehler, wenn ich das Remotedesktopprotokoll (Remote Desktop Protocol, RDP) verwende, um mich bei meiner Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instance anzumelden.

Kurzbeschreibung

Möglicherweise erhältst du die folgenden Authentifizierungsfehler, wenn du RDP verwendest, um dich bei einer Amazon EC2-Windows-Instance anzumelden:

„Ein Authentifizierungsfehler ist aufgetreten. Die örtliche Sicherheitsbehörde kann nicht kontaktiert werden.“

„The remote computer that you are trying to connect to requires Network Level Authentication (NLA), but your Windows domain controller cannot be contacted to perform NLA. If you are an administrator on the remote computer, you can disable NLA by using the options on the Remote tab of the System Properties dialog box.“

Dieser Fehler kann in den folgenden Szenarien auftreten:

  • Network Layer Authentication (NLA) ist für den Server aktiviert.
  • Die Vertrauensbeziehung zwischen der Domain und der EC2-Instance, die mit dieser Domain verbunden ist, schlägt fehl, wenn sich RDP anmeldet.

Du kannst das AWSSupport-TroubleshootRDP-Runbook verwenden oder die Fehler manuell beheben.

Lösung

NLA ist für den Server aktiviert

NLA-Fehler treten auf, wenn eine Instance die Konnektivität zu einem Domain-Controller verliert, weil die Domain-Anmeldeinformationen nicht authentifiziert werden. Verwende eine der folgenden Methoden, um NLA auf einer nicht erreichbaren Instance zu deaktivieren und so das Problem zu beheben:

  • Führe die AWSSupport-TroubleshootRDP-Automatisierung von AWS Systems Manager aus, um die Instance-Einstellungen zu ändern.
  • Verwende den Systems Manager Session Manager oder den Befehl aws:runPowerShellscript.
  • Ändere die Registrierung manuell offline.

Hinweis: Du musst die Registrierung ändern, wenn du die NLA änderst. Bevor du beginnst, erstelle ein Amazon Machine Image (AMI) aus deiner Instance. Dadurch wird eine Sicherungskopie erstellt, bevor du die Registrierung änderst.

AWSSupport-TroubleshootRDP-Automatisierung ausführen

Voraussetzungen:

  • Überprüfe die Änderungen an den RDP-Einstellungen, dem RDP-Dienst und den Windows-Firewallprofilen.
  • Stelle sicher, dass die Ziel-EC2-Instance über eine AWS-Instance-Profilrolle für Identity and Access Management (IAM) verfügt, an die die von Amazon verwaltete Amazon-Richtlinie AmazonSSMManagedInstanceCore angehängt ist.
  • Stelle sicher, dass dein aktueller IAM-Benutzer oder deine aktuelle IAM-Rolle über die erforderlichen Berechtigungen verfügt. Weitere Informationen findest du im Abschnitt Erforderliche IAM-Berechtigungen von AWSSupport-TroubleshootRDP.
    Hinweis: Wenn du die Option AllowOffline auswählst, ruft dieses Runbook das AWSSupport-ExecuteEC2Rescue-Runbook auf, um eine Offline-Korrektur durchzuführen. Um das Runbook zu starten, musst du die verwaltete IAM-Richtlinie AmazonSSMAutomationRole angehängt haben. Weitere Informationen findest du unter AWSSupport-StartEC2RescueWorkflow.

Gehe wie folgt vor, um das Systems Manager-Runbook auszuführen:

  1. Öffne die Systems-Manager-Konsole.
  2. Wähle im Navigationsbereich Dokumente aus.
  3. Gib in der Suchleiste AWSSupport-TroubleshootRDP ein.
  4. Wähle das Dokument AWSSupport-TroubleshootRDP aus.
  5. Wähle Automatisierung ausführen aus.
  6. Wähle Ausführen aus.

Detaillierte Ergebnisse nach Abschluss der Automatisierung findest du im Abschnitt Ausgaben.

Verwendung des Systems Manager Session Manager

Wichtig: Auf der Instance muss der Systems Manager Agent (SSM Agent) installiert sein und die Instance muss online sein. Die Instance muss außerdem über eine IAM-Rolle verfügen, die Berechtigungen für den Session Manager gewährt. Weitere Informationen findest du unter Vollständige Voraussetzungen für Session Manager.

Gehe wie folgt vor, um Registrierungsschlüssel hinzuzufügen und NLA mit Session Manager zu deaktivieren:

  1. Öffne die Systems-Manager-Konsole.
  2. Wähle im Navigationsbereich Fleet Manager aus.
  3. Wähle die verwaltete Instance aus, zu der du eine Verbindung herstellen möchtest.
  4. Wähle im Menü Knoten-Aktionen die Option Terminalsitzung starten aus.
  5. Führe die folgenden Befehle in der Terminalsitzung aus:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /freg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    

Den Befehl aws:runPowerShellscript verwenden

Wichtig: Auf der Instance muss der SSM-Agent installiert sein und die Instance muss online sein. Die Instance muss außerdem über eine IAM-Rolle verfügen, die Berechtigungen für den Session Manager gewährt. Weitere Informationen findest du unter Vollständige Voraussetzungen für Session Manager.

Gehe wie folgt vor, um Registrierungsschlüssel hinzuzufügen und NLA mit dem Befehlsdokument aws:RunPowerShellscript zu deaktivieren:

  1. Öffne die Systems-Manager-Konsole.
  2. Wähle im Navigationsbereich Befehl ausführen und dann Einen Befehl ausführen aus.
    Wähle als Befehlsdokument AWS-RunPowerShellScript aus.
    Gib für Befehlsparameter die folgenden Befehle ein:
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /freg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
    Wähle bei Zielauswahl die Option Manuelles Auswählen von Instanzen und wähle dann deine Instance aus.
  3. Wählen Sie Ausführen.
  4. Warte, bis der Gesamtstatus in Erfolgreich geändert wird. Aktualisiere die Seite nach 2 Minuten.
  5. Starte die Instance neu.
  6. Verwende die RDP, um sich bei der Instance anzumelden.

Manuelles Ändern der Registrierung offline

Führe die folgenden Schritte aus:

  1. Stoppe die nicht erreichbare Instance und trenne dann das Root-Volume.

  2. Starte eine neue Instance in derselben Availability Zone wie die nicht erreichbare Instance, die du gerade gestoppt hast. Die neue Instance wird zu deiner Rettungs-Instance.

    Wichtig: Es hat sich bewährt, eine Windows-Instance zu starten, die sich von der nicht erreichbaren Instance unterscheidet, um Probleme mit der Festplattensignatur zu vermeiden.

  3. Füge das getrennte Volume als /dev/xvdf an die Rettungs-Instance an.

  4. Stelle mithilfe von RDP eine Verbindung zur Rescue-Instance her und schalte dann den gerade angehängten Datenträger im Festplatten-Manager online.

  5. Gib in einer Befehlszeile regedit.exe ein, und drücke dann die Eingabetaste, um den Registrierungs-Editor zu öffnen.

  6. Wähle HKEY_LOCAL_MACHINE, wähle Datei und dann Load Hive (Hive laden).

  7. Navigiere zum Windows-Ordner auf dem angehängten Datenträger und wähle dann die SYSTEM-Datei aus. Der Standardpfad ist D:\Windows\System32\config.

  8. Benenne die SYSTEM-Datei. Zum Beispiel badsys.

  9. Die badsys-Systemdatei erscheint jetzt unter HKEY_LOCAL_MACHINE. Navigiere unter badsys zu Steuersatz001, Steuerung, Terminal Server, WinStationen, RDP-tcp.

  10. Doppelklicke auf Sicherheitsebene und setze dann die Wertdaten auf 0.
    Wähle UserAuthentication aus und setze dann die Wertdaten auf 0.
    Wähle fAllowSecProtocolNegotiation aus und setze dann die Wertdaten auf 0.

  11. Wähle badsys, wähle Datei und dann Unload Hive.

  12. Nachdem die Struktur entladen wurde, öffne den Disk Manager (Festplatten-Manager) und schalte die Festplatte offline.

  13. Trenne den Datenträger von der Rescue-Instance und füge ihn als Root-Datenträger an die nicht erreichbare Instance an (/dev/sda1).

  14. Starte die Instance und teste dann das RDP.

Die Vertrauensbeziehung schlägt bei der RDP-Anmeldung fehl

Verwende zwischengespeicherte Benutzeranmeldeinformationen, um dich bei der unerreichbaren Instance anzumelden.

Voraussetzungen:

  • Ein lokales Konto, das sich erfolgreich bei der EC2-Instance authentifizieren kann.
  • (Optional) Mindestens ein Domain-Konto, das angemeldet war, als die Instance mit dem Domain-Controller kommunizierte. Damit das Domain-Konto funktioniert, müssen die Anmeldeinformationen des Domain-Kontos auf dem Server zwischengespeichert werden.
    Hinweis: Es hat sich bewährt, ein lokales Konto zu verwenden.
  • Stelle sicher, dass die Richtlinie, die die Anzahl früherer Anmeldungen festlegt, die zwischengespeichert werden sollen (falls der Domain-Controller nicht verfügbar ist), auf mindestens 1 festgelegt ist. Du musst dies tun, um interaktive Anmeldungen zu verwenden. Du kannst die Richtlinie auf den Standardwert 10 setzen. Standardmäßig ist die Richtlinie nicht definiert und kann die lokale Richtlinie des Servers verwenden.

Gehe wie folgt vor, um dich mit zwischengespeicherten Benutzeranmeldeinformationen anzumelden:

  1. Öffne die Amazon-EC2-Konsole.
  2. Wähle im Navigationsbereich Sicherheitsgruppen aus.
  3. Wähle Sicherheitsgruppe erstellen aus.
  4. Füge einen Namen und eine Beschreibung der Sicherheitsgruppe hinzu.
  5. Wähle unter Eingehende Regeln die Option Regel hinzufügen aus.
    Wähle für Typ die Option RDP aus. Gib dann Informationen für die Quelle an, von der aus du RDP für die Verbindung verwenden möchtest.
  6. Entferne unter Regeln für ausgehenden Datenverkehr den gesamten ausgehenden Zugriff.
  7. Wähle Sicherheitsgruppe erstellen aus.
  8. Wähle im Navigationsbereich Instances und dann die nicht erreichbare Instance aus.
  9. Wähle Aktionen, dann Sicherheit und dann Sicherheitsgruppen ändern aus. Entferne die vorhandenen Sicherheitsgruppen und weise dann nur die Sicherheitsgruppe zu, die du gerade erstellt hast.
  10. Verwende das reguläre Domain-Konto, um RDP für die Verbindung mit der EC2-Instance zu verwenden. Da du den gesamten ausgehenden Zugriff von EC2 entfernt hast, verwendet die RDP die zwischengespeicherten Anmeldeinformationen, die auf dem Server gespeichert sind.

Hinweis: Die Authentifizierung wird zunächst über den Domaincontroller versucht. Da es jedoch keinen ausgehenden Zugriff von Amazon EC2 gibt, überprüft die Authentifizierung letztendlich die zwischengespeicherten Anmeldeinformationen auf dem Server. Die Authentifizierung wird mit den zwischengespeicherten Anmeldeinformationen erneut versucht und die Anmeldung ist erfolgreich. Nachdem du dich angemeldet hast, kannst du die Sicherheitsgruppeneinstellungen auf den ursprünglichen Zustand zurücksetzen. Fahre dann fort, alle Probleme mit deiner Domain zu beheben.

Zusätzliche Problembehandlung

Wenn du immer noch keine Verbindung zur Instance herstellen kannst, findest du weitere Informationen unter Wie behebe ich RDP-Verbindungsprobleme mit meiner EC2-Windows-Instance?

Ähnliche Informationen

AWS Systems Manager-Ausführungsbefehl

AWS Systems Manager Session Manager

Ausführung einer automatisierten Operation, die von Systems Manager Automation unterstützt wird

Einrichten der Automatisierung

Referenz zum Systems Manager Automation-Runbook