Direkt zum Inhalt

Warum kann ich Session Manager nicht verwenden, um eine Verbindung zu meiner Amazon EC2-Instance herzustellen?

Lesedauer: 6 Minute
0

Ich kann Session Manager, eine Funktion von AWS Systems Manager, nicht verwenden, um auf meine Amazon Elastic Compute Cloud (Amazon EC2)-Instance zuzugreifen.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Die folgenden Gründe können dazu führen, dass der Session Manager keine Verbindung zu der EC2-Instance herstellt:

  • Fehlende Voraussetzungen für den Session Manager erfüllen
  • Fehlende AWS Identity and Access Management (IAM)-Berechtigungen
  • Falsche Konfigurationen der Session Manager-Einstellungen
  • Probleme mit dem Session Manager-Plug-In
  • Probleme mit der Konnektivität

Um die Ursache von Verbindungsproblemen zu ermitteln und nach Fehlermeldungen zu suchen, überprüfe die Protokolle des AWS Systems Manager Agent (SSM Agent).

Sicherstellen, dass du die Voraussetzungen für Systems Manager erfüllst

Stelle sicher, dass die Instance verwaltete Knoten verwendet und die Konfiguration den Voraussetzungen für Session Manager entspricht. Weitere Informationen findest du unter Warum zeigt Systems Manager meine Amazon EC2-Instance nicht als verwaltete Instance an?

Wenn du SSM Agent Version 3.1.501.0 ausführst, kannst du mit dem ssm-cli überprüfen, ob die Instance die Voraussetzungen für den Session Manager erfüllt. Das Tool ssm-cli bestimmt, warum Systems Manager keine laufende Instance in die Liste der verwalteten Instances aufnimmt.

Stelle sicher, dass der IAM-Benutzer oder die IAM-Rolle über die erforderlichen IAM-Richtlinien verfügt

Vergewissere dich, dass der IAM-Benutzer oder die IAM-Rolle, die du für die Verbindung mit der EC2-Instance verwendest, über die erforderlichen IAM-Richtlinien und -Berechtigungen für Session Manager verfügt.

Probleme mit den Einstellungen in den Session Manager-Einstellungen beheben

AWS KMS-Konfiguration überprüfen

Du kannst die AWS Key Management Service (AWS KMS)-Verschlüsselung im Session Manager aktivieren. Wenn du AWS KMS aktivierst und die Instance die AWS KMS-Endpunkte nicht erreichen kann, erhältst du die folgende Fehlermeldung:

„Your session has been terminated for the following reasons: ----------ERROR------- Encountered error while initiating handshake. Handshake timed out. Please ensure that you have the latest version of the session manager plugin."

Führeden folgenden Befehl aus, um die Konnektivität zu AWS KMS-Endpunkten zu überprüfen:

telnet kms.RegionID.amazonaws.com 443

Hinweis: Ersetze die RegionID durch die AWS Region.

Wenn die Ausgabe zeigt, dass du keine Verbindung zum AWS KMS-Endpunkt herstellen kannst, richte eine Verbindung zum AWS KMS-Endpunkt (VPC) ein.

Wenn das Instance-Profil oder der IAM-Benutzer nicht über die kms:Decrypt-Berechtigung für den Schlüssel verfügt, wird die folgende Fehlermeldung angezeigt:

„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: User: arn:aws:sts::account id:assumed-role/instance-profile/instance-id is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:region:account id:key/key-id because no identity-based policy allows the kms:Decrypt action status code: 400“

Um dieses Problem zu beheben, füge die kms:Decrypt-Berechtigung für den AWS-KMS-Schlüssel hinzu, den du zum Verschlüsseln der Sitzung verwendest.

Wenn der von dir im Session Manager angegebene Amazon Resource Name (ARN) des AWS-KMS-Schlüssels nicht korrekt ist oder nicht mehr existiert, erhältst du die folgende Fehlermeldung:

„Your session has been terminated for the following reasons: Error calling KMS GenerateDataKey API: NotFoundException: Key 'arn:aws:kms:region:account:key/abcdxyz' does not exist“

Um dieses Problem zu beheben, überprüfe den ARN des AWS-KMS-Schlüssels, um sicherzustellen, dass er korrekt ist.

Amazon-S3-Konfiguration überprüfen

Du kannst Sitzungsdaten in einem Amazon Simple Storage Service (Amazon S3)-Bucket speichern. Wenn du die Protokollverschlüsselung verwendest und das Instance-Profil nicht über die s3:getEncryptionConfiguration-Berechtigung verfügt, erhältst du die folgende Fehlermeldung:

„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: User:abcd is not authorized to perform: s3:GetEncryptionConfiguration on resource“

Um dieses Problem zu beheben, füge dem Instance-Profil s3:getEncryptionConfiguration-Berechtigungen hinzu.

Wenn der S3-Bucket, den du im Session Manager konfiguriert hast, nicht existiert, erhältst du die folgende Fehlermeldung:

„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: NoSuchBucket: The specified bucket does not exist status code: 404“

Um dieses Problem zu beheben, stelle sicher, dass der Bucket, den du im Session Manager angegeben hast, korrekt und verfügbar ist.

Betriebssystemkonfiguration überprüfen

Wenn du „Run As-Unterstützung“ auf den Linux-Instances aktivierst, kannst du Sitzungen mit den Benutzeranmeldeinformationen des Betriebssystems (OS) starten. Wenn der Betriebssystem-Benutzername jedoch nicht existiert, erhältst die folgende Fehlermeldung:

„Your session has been terminated for the following reasons: ----------ERROR------- Unable to start command: failed to start pty since RunAs user username does not exist “

Um dieses Problem zu beheben, stelle sicher, dass du den richtigen Standardbenutzernamen für das Betriebssystem (OS) verwendest oder dass der benutzerdefinierte Benutzername korrekt ist.

Wichtig: Du kannst das Root-Benutzerkonto des Betriebssystems nicht verwenden, um Verbindungen mit Session Manager zu authentifizieren.

Probleme mit dem Session Manager-Plug-In beheben

Wenn das Amazon Elastic Block Store (Amazon EBS)-Root-Volume (Amazon EBS) der Instance voll ist, kann der SSM Agent die erforderlichen Dateien nicht erstellen. Du erhältst die folgende Fehlermeldung:

„Your session has been terminated for the following reasons: Plugin with name Standard_Stream not found. Step name: Standard_Stream“

Um dieses Problem zu beheben, erhöhe die Größe des Amazon EBS-Volumes und erweitere dann das Dateisystem. Oder lösche Dateien, die du nicht verwendest, um mehr Speicherplatz auf der Instance freizugeben.

Wenn du die AWS-CLI verwendest, um eine Verbindung mit der Instance herzustellen, musst du das Session Manager-Plug-in auf dem lokalen Computer installieren. Wenn du das Plug-in nicht installierst, erhältst du die folgende Fehlermeldung:

„SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found“

Behebung von Konnektivitätsproblemen

Nachdem du eine Session Manager-Sitzung gestartet hast, wird möglicherweise ein leerer Bildschirm mit einem blinkenden Cursor angezeigt. Wenn dieses Problem auftritt, ist der lokale Computer möglicherweise nicht mit dem Session Manager-Endpunkt verbunden.

Um die Konnektivität zum AWS Session Manager-Endpunkt zu überprüfen, führe je nach Betriebssystem den folgenden Befehl aus.

Linux:

telnet ssmmessages.RegionID.amazonaws.com 443

Hinweis: Ersetze RegionID durch deine Region.

Windows:

Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443

Hinweis: Ersetze RegionID durch deine Region.

Wenn sich die Instance in einem privaten Subnetz befindet, findest du weitere Informationen unter Wie erstelle ich Amazon Virtual Private Cloud (Amazon VPC)-Endpunkte, sodass ich Systems Manager verwenden kann, um private Amazon EC2-Instances ohne Internetzugang zu verwalten?

Andere Problembehebungsszenarien findest du unter Wie behebe ich Probleme mit dem AWS Systems Manager Session Manager?

Ähnliche Informationen

Problembehandlung im Session Manager

Wie kann ich einen SSH-Tunnel über Systems Manager verwenden, um auf meine privaten VPC-Ressourcen zuzugreifen?

Erlauben und Steuern von Berechtigungen für SSH-Verbindungen über den Session Manager

Sitzungsprotokollierung de- und aktivieren

AWS OFFICIALAktualisiert vor 6 Monaten