Direkt zum Inhalt

Wie verwende ich die Portweiterleitung von Systems Manager Session Manager ohne Bastion-Host, um über RDP eine Verbindung zu meiner EC2-Instance herzustellen?

Lesedauer: 3 Minute
0

Ich möchte die Portweiterleitung in Session Manager, einer Funktion von AWS Systems Manager, verwenden, um meine Amazon Elastic Compute Cloud (Amazon EC2)-Instance über Remote Desktop Protocol (RDP) ohne Bastion-Host zu verbinden.

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.

Verwende die Session-Manager-Portweiterleitung, um über RDP eine Verbindung zu der Instance herzustellen, wenn du den eingehenden Zugriff auf Sicherheitsgruppen blockierst. Du musst keine eingehenden Ports öffnen oder Bastion-Hosts konfigurieren, um die Session-Manager-Portweiterleitung zu verwenden.

Voraussetzungen:

Die Portweiterleitungssitzung mit der AWS CLI einrichten

Hinweis: Verwende die AWS CLI, um Session-Manager-Portweiterleitungssitzungen an Windows-Instances einzurichten. Mit dem Start-SSMSession-Cmdlet kannst du keine Portweiterleitungssitzung mit Amazon-Web-Services-Tools für PowerShell auf lokalen Windows-Computern einrichten.

Führe die folgenden Schritte aus:

  1. Führe auf dem lokalen Computer den folgenden Befehl aus, um einen Tunnel von Port 55678 auf dem Computer zu Port 3389 auf der Instance einzurichten:
    aws ssm start-session --target example-instanceid --document-name AWS-StartPortForwardingSession --parameters "example-localPortNumber=55678,example-ec2instance-portNumber=3389"
    Hinweis: Ersetze die Beispiel-Werte durch deine Werte.
    Wenn die Verbindung erfolgreich ist, wird die folgende Meldung angezeigt:
    „Starting session with SessionId: xxxxx-01234567891011abcPort 55678 opened for sessionId xxxxx-01234567891011abc
    Waiting for connections...“
  2. Verwende einen lokalen RDP-Client, um eine Verbindung zu localhost:55678 herzustellen, sodass Session Manager den Datenverkehr an den Remote-Port 3389 auf der Instance weiterleiten kann.
    Wenn die Verbindung erfolgreich ist, wird die folgende Meldung angezeigt:
    „Connection accepted for session xxx-01234567891011abc“

Portweiterleitungssitzung beenden

Führe die folgenden Schritte aus:

  1. Schließe die RDP-Sitzung.
  2. Drücke in der AWS-CLI Strg + C, um die Portweiterleitungssitzung zu beenden. Oder verwende die AWS-Systems-Manager-Konsole, um die Sitzung zu beenden.
    Wenn die Sitzung erfolgreich beendet wird, wird die folgende Meldung angezeigt:
    „Terminate signal received, exiting. Exiting session with sessionId: xxxxx-01234567891011abc.“

Probleme mit der Verbindung beheben

Wenn die Portweiterleitungssitzung keine Verbindung herstellen kann, ergreifst du basierend auf dem Fehler, den du erhältst, die folgenden Maßnahmen.

AccessDeniedException

Stelle sicher, dass der/die Benutzer:in, der/die die Sitzung startet, über die erforderlichen Berechtigungen für Session Manager verfügt.

TargetNotConnected

Stelle sicher, dass du den Zielknoten für Session Manager vollständig konfiguriert hast und der Knoten in der Systems-Manager-Fleet-Manager-Konsole als Online gemeldet wird.

Dieser Fehler tritt auch auf, wenn du eine Sitzung auf einem verwalteten Knoten startest, der sich in einem anderen AWS-Konto oder einer anderen AWS-Region befindet. Weitere Informationen findest du unter Verwalteter Knoten ist für Session Manager nicht verfügbar oder nicht konfiguriert.

Das Session-Manager-Plug-in wurde nicht gefunden

Vergewissere dich, dass du das Session-Manager-Plug-in auf dem lokalen Computer installiert hast. Weitere Informationen findest du unter Installieren des Session-Manager-Plug-ins für die AWS CLI.

RDP-Client kann keine Verbindung herstellen

Wenn die Sitzung erfolgreich eine Verbindung herstellt, der RDP-Client jedoch keine Verbindung herstellen kann, überprüfe, ob du den Standard-RDP-Port auf der Instance geändert hast. Ersetze den portNumber-Parameterwert durch deinen Wert. Weitere Informationen findest du auf der Microsoft-Website unter Überprüfen des RDP-Listener-Ports.

Ähnliche Informationen

Problembehandlung im Session Manager