Welche Methoden kann ich verwenden, um eine Verbindung zu meiner EC2-Linux-Instance herzustellen?

Lesedauer: 8 Minute
0

Ich möchte wissen, welche Optionen für die Verbindung mit meiner Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance zur Verfügung stehen.

Kurzbeschreibung

Es gibt vier Methoden, um eine Verbindung zu Amazon-EC2-Linux-Instances herzustellen:

  • Secure Shell (SSH)
  • Serielle EC2-Konsole für Linux-Instances
  • Session Manager, eine Funktion von AWS Systems Manager
  • Amazon EC2 Instance Connect

Lösung

SSH

Einschränkungen:

Wichtig: Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie eine Verbindung zu Ihrer Instance herstellen.

Methode 1: Ein Terminalfenster verwenden

Öffnen Sie ein Terminalfenster (Linux oder macOS) und führen Sie dann den SSH-Befehl aus, um eine Verbindung zur Instance herzustellen.

Verwenden Sie den öffentlichen Domainnamen:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Verwenden Sie die öffentliche IPv4-Adresse:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Verwenden Sie die öffentliche IPv6-Adresse:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Weitere Informationen finden Sie unter Mithilfe von SSH eine Verbindung zu Ihrer Linux-Instance herstellen.

Methode 2: OpenSSH in Windows verwenden

1.Führen Sie den folgenden Befehl aus, um PowerShell zur Installation von OpenSSH für Windows zu verwenden.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Hinweis: Um OpenSSH zu installieren, müssen Sie PowerShell als Administrator ausführen.

2.Führen Sie den SSH-Befehl aus, um eine Verbindung zu Ihrer Instance herzustellen:

Verwenden Sie den öffentlichen Domainnamen:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name

Verwenden Sie die öffentliche IPv4-Adresse:

ssh -i /path/key-pair-name.pem instance-user-name@instance-public-IPv4-address

Verwenden Sie die öffentliche IPv6-Adresse:

ssh -i /path/key-pair-name.pem instance-user-name@instance-IPv6-address

Methode 3: PuTTY unter Windows verwenden

1.Verwenden Sie PuTTYgen, um Ihren privaten Schlüssel zu konvertieren.

2.Verwenden Sie PuTTY, um eine Verbindung zu Ihrer Instance herzustellen.

3.Starten Sie PuTTY.

4.Wählen Sie unter Kategorie die Option Sitzung aus.

5.Geben Sie für Hostname die Kombination aus Benutzername/Hostname ein:

Verwenden Sie den öffentlichen Domainnamen:

instance-user-name@instance-public-dns-name

Verwenden Sie die öffentliche IPv4-Adresse:

instance-user-name@instance-IPv4-address

Verwenden Sie die öffentliche IPv6-Adresse:

instance-user-name@instance-IPv6-address

6.Stellen Sie sicher, dass der Port-Wert mit dem SSH-Dienstport übereinstimmt (standardmäßig 22).

7.Wählen Sie als Verbindungstyp SSH aus.

8.Erweitern Sie unter Kategorie die Option Verbindung, anschließend SSH und wählen Sie schließlich Auth aus.

9.Wählen Sie Durchsuchen und anschließend die PPK-Datei aus, die Sie für Ihr Schlüsselpaar generiert haben.

10.Wählen Sie Öffnen aus.

Hinweis: Wenn Sie zum ersten Mal eine Verbindung zu einer Instance herstellen, müssen Sie bestätigen, dass Sie dem Remote-Host vertrauen.

Serielle EC2-Konsole für Linux-Instances

Die serielle EC2-Konsole stellt eine serielle Verbindung zu EC2-Instances her, mit der Sie Boot- und Netzwerkverbindungsprobleme beheben können.

Einschränkungen:

  • Pro Instance wird nur eine aktive serielle Konsolenverbindung unterstützt.
  • Zwischen den Sitzungen muss ein Intervall von mindestens 30 Sekunden liegen.
  • Während der seriellen EC2-Konsolensitzung nimmt der Durchsatz Ihrer Instance leicht ab.
  • Xen-Instances werden nicht unterstützt.
  • Die serielle EC2-Konsole wird für Wavelength Zones und AWS Outposts nicht unterstützt.
  • Die serielle EC2-Konsole wird nur in bestimmten AWS-Regionen unterstützt.

Wichtig: Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie über die serielle E2-Konsole eine Verbindung herstellen.

Methode 1: Den browserbasierten Client verwenden

1.Öffnen Sie die EC2-Konsole.

2.Wählen Sie Instances aus.

3.Wählen Sie Ihre Instance aus und anschließend Aktionen, Überwachung und Fehlerbehebung, Serielle EC2-Konsole, Verbinden. Wählen Sie alternativ die Instance und anschließend Verbinden, Serielle EC2-Konsole, Verbinden aus.

4.Wenn das Terminalfenster im Browser geöffnet wird, drücken Sie die Eingabetaste. Wenn eine Anmeldeaufforderung angezeigt wird, geben Sie den Benutzernamen des kennwortbasierten Benutzers ein und drücken Sie dann die Eingabetaste.

Geben Sie in der Passwort-Eingabeaufforderung das Passwort ein, und drücken Sie dann die Eingabetaste.

Methode 2: SSH verwenden

1.Geben Sie Ihren öffentlichen SSH-Schlüssel an die Instance weiter, um eine serielle Konsolensitzung zu starten:

aws ec2-instance-connect send-serial-console-ssh-public-key \
    --instance-id i-0123456789EXAMPLE \
    --serial-port 0 \
    --ssh-public-key file://my_key.pub \
    --region us-east-1

Hinweis: Stellen Sie im vorherigen Beispielbefehl sicher, dass Sie das Präfix file:// zum öffentlichen SSH-Key-Pfad hinzufügen.

2.Verwenden Sie Ihren privaten Schlüssel, um eine Verbindung zur seriellen Konsole herzustellen:

ssh -i my_key i-0123456789EXAMPLE.port0@serial-console.ec2-instance-connect.us-east-1.aws

3.(Optional) Überprüfen Sie den Fingerabdruck. Vergleichen Sie den Fingerabdruck, der angezeigt wird, wenn Sie zum ersten Mal eine Verbindung zur seriellen Konsole herstellen, mit dem eindeutigen Fingerabdruck der seriellen EC2-Konsole für die Region.

4.Wenn erneut eine Aufforderung angezeigt wird, geben Sie den Benutzernamen des kennwortbasierten Benutzers ein und drücken Sie dann die Eingabetaste.

5.Geben Sie in der Passwort-Eingabeaufforderung das Passwort ein, und drücken Sie dann die Eingabetaste.

Session Manager

Der Session Manager ermöglicht den sicheren Zugriff auf die verwalteten Knoten, ohne eingehende Ports öffnen oder einen SSH-Schlüssel verwalten zu müssen. Sie können AWS-CloudTrail-Ereignisse verwenden, um Session-Manager-Sitzungen zu prüfen und die Sitzungen mithilfe von AWS Identity and Access Management (IAM)-Richtlinien zu steuern.

Einschränkungen:

  • Sie können mit dem Session Manager keine Dateien übertragen.
    Hinweis: Verwenden Sie stattdessen einen S3-Bucket und die AWS CLI, um Daten auszutauschen.
  • Die Protokollierung ist für Session-Manager-Sitzungen, die über Portweiterleitung oder SSH eine Verbindung herstellen, nicht verfügbar. Dies liegt daran, dass SSH alle Sitzungsdaten verschlüsselt und der Session Manager nur als Tunnel für SSH-Verbindungen dient.
  • AWS Systems Manager wird nicht für alle Betriebssysteme (OS) unterstützt. Weitere Informationen finden Sie unter Unterstützte Betriebssysteme.

Wichtig: Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie den Session Manager verwenden, um eine Verbindung zu Ihrer Instance herzustellen.

Es ist eine bewährte Methode, VPC-Endpunkte für die Verwendung mit dem Systems Manager zu erstellen:

  1. Öffnen Sie die Systems-Manager-Konsole.
  2. Wählen Sie Session Manager aus.
  3. Wählen Sie Sitzung starten aus.
  4. (Optional) Geben Sie eine Sitzungsbeschreibung in das Feld Grund für die Sitzung ein.
  5. Wählen Sie den verwalteten Knoten, zu dem Sie eine Verbindung herstellen möchten, und anschließend Sitzung starten aus, um die Sitzung sofort zu starten.
    -oder-
    (Optional) Verwenden Sie ein benutzerdefiniertes Dokument, um Sitzungseinstellungen wie Dauer, Verschlüsselung und Protokollierung zu konfigurieren:
    Wählen Sie für Sitzungsoptionen Weiter aus.
    Wählen Sie unter Sitzungsdokument das Dokument aus, das Sie beim Start der Sitzung ausführen möchten. Wenn Ihr Dokument Laufzeitparameter unterstützt, können Sie in jedes Parameterfeld einen oder mehrere durch Kommas getrennte Werte eingeben.
    Wählen Sie Weiter aus.
    Wählen Sie Sitzung starten aus.

Die EC2-Konsole verwenden, um eine Verbindung herzustellen

  1. Öffnen Sie die EC2-Konsole.
  2. Wählen Sie Instances aus.
  3. Wählen Sie die Instance und anschließend Verbinden aus.
  4. Wählen Sie als Verbindungsmethode Session Manager aus.
  5. Wählen Sie Verbinden aus.

Die AWS CLI verwenden, um eine Verbindung herzustellen

Hinweis:

Führen Sie den folgenden Befehl aus:

aws ssm start-session --target instance-id

SSH über den Session Manager verwenden, um eine Verbindung herzustellen

Anforderungen:

  • Sie müssen Ihre zielverwalteten Instances so konfigurieren, dass sie SSH-Verbindungen unterstützen.
  • Die ausgeführte Version des AWS Systems Manager Agent (AWS SSM Agent) muss 2.3.672.0 oder höher sein.
  • Sie haben Zugriff auf das Privacy Enhanced Mail (PEM)-Zertifikat und können das damit verknüpfte Konto verwenden, um eine Verbindung herzustellen. Zum Beispiel das Benutzerkonto „Ubuntu“ für von Ubuntu verwaltete Knoten.

Führen Sie den folgenden Befehl aus, um SSH zum Starten einer Sitzung zu verwenden:

ssh -i /path/my-key-pair.pem username@instance-id,/code>

Amazon EC2 Instance Connect

EC2 Instance Connect ermöglicht den sicheren Zugriff auf Ihre Instance über SSH. EC2 Instance Connect bietet mehrere Optionen, um eine Verbindung zu Ihrer Instance herzustellen, ohne Ihre SSH-Schlüssel zu teilen.

Einschränkungen:

  • EC2 Instance Connect bietet eingeschränkte Unterstützung für Linux-Distributionen.
  • Die Einstellungen AuthorizedKeysCommand und AuthorizedKeysCommandUser dürfen noch nicht konfiguriert sein.
  • EC2 Instance Connect wird in lokalen Zonen nicht unterstützt.
  • Für die Verbindung ist eine öffentliche IPv4-Adresse erforderlich, wenn Sie die Amazon-EC2-Konsole verwenden.
  • EC2 Instance Connect unterstützt die Verwendung einer IPv6-Adresse für die Verbindung nicht.

Wichtig: Stellen Sie sicher, dass Sie alle Voraussetzungen erfüllen, bevor Sie Amazon EC2 Instance Connect verwenden.

Die Amazon-EC2-Konsole verwenden, um eine Verbindung herzustellen (nur für Instances mit öffentlicher IPv4-Adresse)

1.Öffnen Sie die Amazon-EC2-Konsole.

2.Wählen Sie im Navigationsbereich Instances aus.

3.Wählen Sie die Instance und anschließend Verbinden aus.

4.Wählen Sie EC2 Instance Connect aus.

5.Überprüfen Sie den Benutzernamen und wählen Sie dann Verbinden aus, um ein Terminalfenster zu öffnen.

Ihren eigenen Schlüssel und SSH-Client verwenden, um eine Verbindung herzustellen

Hinweis: Sie müssen die EC2-Instance-Connect-CLI auf der Instance installieren, zu der Sie eine Verbindung herstellen.

1.Führen Sie den folgenden Befehl aus, um neue private und öffentliche SSH-Schlüssel zu generieren:

ssh-keygen -t rsa -f my_key

2.Übertragen Sie Ihren öffentlichen SSH-Schlüssel an die Instance:

Amazon Linux:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Amzn \
    --instance-os-user ec2-user \
    --ssh-public-key file://my_key.pub

Ubuntu:

aws ec2-instance-connect send-ssh-public-key \
    --region us-west-2 \
    --instance-id i-0123456789Ubuntu \
    --instance-os-user ubuntu\
    --ssh-public-key file://my_key.pub

Hinweis: Stellen Sie im vorherigen Beispielbefehl sicher, dass Sie das Präfix file:// zum öffentlichen SSH-Key-Pfad hinzufügen.

3.Verwenden Sie Ihren privaten Schlüssel, um sich mit der Instance zu verbinden:

Amazon Linux:

ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@instance-public-dns-name

Ubuntu:

ssh -o "IdentitiesOnly=yes" -i my_key ubuntu@instance-public-dns-name

Hinweis: Ein öffentlicher DNS-Standardname einer Amazon-EC2-Instance sieht ähnlich aus wie ec2-12-34-56-78.us-west-2.compute.amazonaws.com. Der Name besteht aus der AWS-Domain, dem Service (in diesem Beispiel Compute), der Region und einer Form der öffentlichen IP-Adresse.

Die EC2-Instance-CLI verwenden, um eine Verbindung herzustellen

Amazon Linux:

$mssh i-0123456789Amzn

Ubuntu:

$mssh ubuntu@i-0123456789Ubuntu
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten