Wie behebe ich Probleme mit dem AWS Systems Manager Session Manager?

Lesedauer: 6 Minute
0

Wenn ich versuche, den AWS Systems Manager Session Manager zu verwenden, schlägt meine Sitzung fehl.

Behebung

Wenn eine Sitzung fehlschlägt, weil Ihre Amazon Elastic Compute Cloud (Amazon EC2)-Instance nicht als verwaltete Instance verfügbar ist, beheben Sie die Verfügbarkeit Ihrer verwalteten Instance.

Wenn eine Sitzung fehlschlägt und Ihre Amazon-EC2-Instance als verwaltete Instance verfügbar ist, beheben Sie Probleme mit dem Session Manager, um die folgenden Probleme zu lösen:

  • Der Session Manager ist nicht berechtigt, eine Sitzung zu starten.
  • Der Session Manager ist nicht berechtigt, die Sitzungseinstellungen zu ändern.
  • Ein verwalteter Knoten ist nicht verfügbar oder nicht für den Session Manager konfiguriert.
  • Session Manager-Plugins werden dem Befehlszeilenpfad nicht hinzugefügt (Windows).
  • Das System sendet einen TargetNotConnected-Fehler.
  • Der Session Manager zeigt einen leeren Bildschirm an, wenn Sie eine Sitzung starten.

Wenn eine Sitzung fehlschlägt und eine der folgenden Fehlermeldungen angezeigt wird, wenden Sie die entsprechenden Anleitungen zur Problembehandlung an.

„Your session has been terminated for the following reasons: ----------ERROR------- Encountered error while initiating handshake. Fetching data key failed: Unable to retrieve data key, Error when decrypting data key AccessDeniedException: The ciphertext refers to a AWS KMS key that does not exist, does not exist in this region, or you are not allowed to access. status code: 400, request id: nnnnnnnnnnnn"

Sie erhalten diesen Fehler, wenn die Benutzer und EC2-Instances in Ihrem Konto nicht über die erforderlichen Schlüsselberechtigungen für den AWS Key Management Service (AWS KMS) verfügen. Um diesen Fehler zu beheben, aktivieren Sie die AWS-KMS-Verschlüsselung für Ihre Sitzungsdaten und führen Sie die folgenden Schritte aus:

  1. Erteilen Sie den Benutzern, die Sitzungen starten, und den Instances, mit denen die Sitzungen eine Verbindung herstellen, die erforderlichen AWS-KMS-Schlüsselberechtigungen.
  2. Konfigurieren Sie AWS Identity and Access Management (IAM), um den Benutzern und Instances die Berechtigungen zur Verwendung des AWS-KMS-Schlüssels mit dem Session Manager zu gewähren:
    Informationen zum Hinzufügen von AWS-KMS-Schlüsselberechtigungen für Benutzer finden Sie unter IAM-Beispielrichtlinien für den Session Manager.
    Informationen zum Hinzufügen von AWS-KMS-Schlüsselberechtigungen für Instances finden Sie unter Überprüfen oder Hinzufügen von Instance-Berechtigungen für den Session Manager.
    Fügen Sie für die Standard-Hostverwaltungskonfiguration einer IAM-Rolle eine Richtlinie hinzu, die AWS-KMS-Schlüsselberechtigungen bereitstellt.

Hinweis: In Version 3.2.582.0 und neuer von AWS Systems Manager Agent (SSM Agent) verwaltet die Standard-Hostverwaltungskonfiguration automatisch EC2-Instances ohne ein IAM-Instance-Profil. Die Instances müssen Instance Metadata Service Version 2 (IMDSv2) verwenden.

„Error - Fleet Manager is unable to start the session because the WebSocket connection closed unexpectedly during the handshake. Verify that your instance profile has sufficient Sessions Manager and AWS KMS permissions. For a more detailed message, visit the Session Manager console“

Dieser Fehler wird möglicherweise angezeigt, wenn der an die Ziel-Instance angehängten Instance-Profilrolle die folgende Berechtigung fehlt. Um AWS Systems Manager mit AWS KMS verwenden zu können, ist die Berechtigung kms:Decrypt erforderlich, um die Verschlüsselung und Entschlüsselung von Kundenschlüsseln für Sitzungsdaten zu ermöglichen.

{
    "Effect":   "Allow",
    "Action":  [
          "kms:Decrypt"
    ],
    "Resource": "key-name"
}

Um diesen Fehler zu beheben, aktualisieren Sie Ihre Berechtigungen für die Instance-Profilrolle, die Ihrer Instance zugeordnet ist. Ein Beispiel für Session-Manager-Berechtigungen finden Sie unter Hinzufügen von Session-Manager-Berechtigungen zu einer vorhandenen IAM-Rolle.

„Your session has been terminated for the following reasons: Couldn't start the session because we are unable to validate encryption on Amazon S3 bucket. Error: AccessDenied: Access Denied status code: 403“

Sie erhalten diesen Fehler, wenn Sie in Ihren Session-Manager-Einstellungen die Option Nur verschlüsselte S3-Buckets zulassen für S3-Protokollierung auswählen. Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

  1. Öffnen Sie die AWS-Systems-Manager-Konsole.
  2. Wählen Sie Sitzungsmanager, Einstellungen und dann Bearbeiten.
  3. Deaktivieren Sie unter S3-Protokollierung die Option Nur verschlüsselte S3-Buckets zulassen und speichern Sie dann Ihre Änderungen.
    Weitere Informationen finden Sie unter Protokollieren von Sitzungsdaten mit Amazon S3 (Konsole).
  4. Für Instances, die mithilfe eines IAM-Instance-Profils verwaltet werden, fügen Sie dem Instance-Profil eine Richtlinie hinzu, das Berechtigungen zum Hochladen verschlüsselter Protokolle auf Amazon S3 bereitstellt. Anweisungen finden Sie unter Erstellen einer IAM-Rolle mit Berechtigungen für den Session Manager und Amazon S3 und Amazon CloudWatch Logs (Konsole).
  5. Für Instances, die mit der Standard-Hostverwaltungskonfiguration verwaltet werden, fügen Sie der IAM-Rolle eine Richtlinie hinzu, die Berechtigungen zum Hochladen verschlüsselter Protokolle auf Amazon S3 bereitstellt. Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle mit Berechtigungen für den Session Manager und Amazon S3 und CloudWatch Logs (Konsole).

„Your session has been terminated for the following reasons: We couldn't start the session because encryption is not set up on the selected CloudWatch Logs log group. Either encrypt the log group or choose an option to enable logging without encryption“

Sie erhalten diesen Fehler, wenn Sie in Ihren Session Manager-Einstellungen die Option Nur verschlüsselte CloudWatch-Protokollgruppen zulassen für die CloudWatch-Protokollierung auswählen. Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

  1. Öffnen Sie die AWS-Systems-Manager-Konsole.
  2. Wählen Sie Sitzungsmanager, Einstellungen und dann Bearbeiten.
  3. Deaktivieren Sie unter CloudWatch-Protokollierung die Option Nur verschlüsselte CloudWatch-Protokollgruppen zulassen und speichern Sie dann Ihre Änderungen.
    Weitere Informationen finden Sie unter Protokollieren von Sitzungsdaten mit Amazon CloudWatch Logs (Konsole).
  4. Für Instances, die Sie mithilfe eines IAM-Instance-Profils verwalten, fügen Sie dem Instance-Profil eine Richtlinie hinzu, um Berechtigungen zum Hochladen verschlüsselter Protokolle auf Amazon CloudWatch bereitzustellen. Anweisungen finden Sie unter Erstellen einer IAM-Rolle mit Berechtigungen für den Session Manager und Amazon S3 und CloudWatch Logs (Konsole).
  5. Für Instances, die mit der Standard-Hostverwaltungskonfiguration verwaltet werden, fügen Sie der IAM-Rolle eine Richtlinie hinzu, die Berechtigungen zum Hochladen verschlüsselter Protokolle auf Amazon CloudWatch bereitstellt. Anweisungen finden Sie unter Erstellen einer IAM-Rolle mit Berechtigungen für den Session Manager und Amazon S3 und CloudWatch Logs (Konsole).

„Your session has been terminated for the following reasons: ----------ERROR------- Unable to start command: Failed to create user ssm-user: Instance is running active directory domain controller service. Disable the service to continue to use session manager“

Dieser Fehler wird möglicherweise angezeigt, wenn Sie AWS Systems Manager für Windows Server verwenden. Die Ursache für diesen Fehler hängt von der Version von SSM-Agent ab, die auf der Instance ausgeführt wird.

Ähnliche Informationen

Wie füge ich ein Instance-Profil an eine Amazon-EC2-Instance an oder ersetze es?

Sitzungsprotokollierung aktivieren und deaktivieren

Den Session Manager einrichten

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Monaten