Amazon EC2-Schlüsselpaare und Linux-Instances - Amazon Elastic Compute Cloud

Amazon EC2-Schlüsselpaare und Linux-Instances

Ein Schlüsselpaar, bestehend aus einem privaten Schlüssel und einem öffentlichen Schlüssel, ist ein Satz von Sicherheits-Anmeldeinformationen, die Sie zum Nachweis Ihrer Identität bei der Verbindung mit einer Instance verwenden. Amazon EC2 speichert den öffentlichen Schlüssel und Sie speichern den privaten Schlüssel. Sie verwenden den privaten Schlüssel, anstelle eines Passworts, um sicher auf Ihre Instances zuzugreifen. Jeder, der Ihre privaten Schlüssel besitzt, kann sich mit Ihren Instances verbinden. Daher ist es wichtig, dass Sie Ihre privaten Schlüssel an einem sicheren Ort speichern.

Wenn Sie eine Instance starten, werden Sie zur Eingabe des Namens eines Schlüsselpaares aufgefordert. Wenn Sie eine Verbindung zu der Instance über SSH herstellen möchten, müssen Sie ein Schlüsselpaar angeben. Wählen Sie ein vorhandenes Schlüsselpaar oder erstellen Sie ein neues. Wenn Ihre Instance zum ersten Mal gestartet wird, wird der Inhalt des öffentlichen Schlüssels, den Sie beim Start angegeben haben, auf Ihrer Linux-Instance in einem Eintrag innerhalb von ~/.ssh/authorized_keys platziert. Wenn Sie über SSH eine Verbindung zu Ihrer Linux-Instance herstellen, müssen Sie den privaten Schlüssel angeben, der dem Inhalt des öffentlichen Schlüssels entspricht, um sich anzumelden. Weitere Informationen zum Herstellen einer Verbindung mit Ihrer Instance finden Sie unter Herstellen einer Verbindung zur Linux-Instance. Weitere Informationen zu Schlüsselpaaren und Windows-Instances finden Sie unter Amazon EC2-Schlüsselpaare und Windows-Instances im Amazon EC2-Benutzerhandbuch für Windows-Instances

Da Amazon EC2 keine Kopie Ihres privaten Schlüssels aufbewahrt, besteht keine Möglichkeit, einen privaten Schlüssel wiederherzustellen, wenn Sie ihn verlieren. Es kann jedoch immer noch eine Möglichkeit geben, sich mit Instances zu verbinden, für die Sie den privaten Schlüssel verloren haben. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Ihrer Linux-Instance, wenn Sie Ihren privaten Schlüssel verlieren.

Die von Amazon EC2 verwendeten Schlüssel sind SSH-2 RSA-Schlüssel mit 2.048 Bit. Es sind bis zu 5.000 Schlüsselpaare pro Region zulässig.

Erstellen oder Importieren eines Schlüsselpaars

Sie können Amazon EC2 verwenden, um ein neues Schlüsselpaar zu erstellen, oder Sie können ein vorhandenes Schlüsselpaar importieren.

Option 1: Erstellen eines Schlüsselpaars mit Amazon EC2

Sie können mit einer der folgenden Methoden ein Schlüsselpaar erstellen.

New console

So erstellen Sie Ihr Schlüsselpaar

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich unter Network & Security die Option Key Pairs aus.

  3. Wählen Sie Create Key Pair (Schlüsselpaar erstellen) aus.

  4. Geben Sie unter Name einen aussagekräftigen Namen für das Schlüsselpaar ein. Amazon EC2 ordnet den öffentlichen Schlüssel dem Namen zu, den Sie als Schlüsselnamen angeben. Ein Schlüsselname kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.

  5. Wählen Sie unter Dateiformat das Format aus, in dem der private Schlüssel gespeichert werden soll. Um den privaten Schlüssel in einem Format zu speichern, das mit OpenSSH verwendet werden kann, wählen Sie pem. Um den privaten Schlüssel in einem Format zu speichern, das mit PuTTY verwendet werden kann, wählen Sie ppk.

  6. Wählen Sie Create Key Pair (Schlüsselpaar erstellen) aus.

  7. Die private Schlüsseldatei wird von Ihrem Browser automatisch runtergeladen. Der Basisdateiname ist der Name, den Sie als Name des Schlüsselpaars angegeben haben, und die Dateinamenserweiterung wird durch das ausgewählte Dateiformat bestimmt. Speichern Sie die Datei mit dem privaten Schlüssel an einem sicheren Ort.

    Wichtig

    Dies ist die einzige Möglichkeit, die private Schlüsseldatei zu speichern.

  8. Wenn Sie einen SSH-Client auf Ihrem macOS X- oder Linux-Computer verwenden, um eine Verbindung mit Ihrer Linux-Instance herzustellen, legen Sie die Berechtigungen für Ihre private Schlüsseldatei mit dem folgenden Befehl so fest, dass nur Sie diese lesen können.

    chmod 400 my-key-pair.pem

    Wenn Sie diese Berechtigungen nicht festlegen, können Sie unter Verwendung dieses Schlüsselpaars keine Verbindung zu Ihrer Instance herstellen. Weitere Informationen finden Sie unter Fehler: Ungeschützte private Schlüsseldatei.

Old console

So erstellen Sie Ihr Schlüsselpaar

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich unter NETWORK & SECURITY auf Key Pairs.

  3. Wählen Sie Create Key Pair aus.

  4. Geben Sie in das Feld Name des Schlüsselpaars einen aussagekräftigen Namen für das Schlüsselpaar ein und wählen Sie Erstellen. Ein Schlüsselname kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.

  5. Die private Schlüsseldatei wird von Ihrem Browser automatisch runtergeladen. Der Basisdateiname ist der Name, den Sie als Namen für Ihr Schlüsselpaar festgelegt haben, und die Dateinamenerweiterung lautet .pem. Speichern Sie die Datei mit dem privaten Schlüssel an einem sicheren Ort.

    Wichtig

    Dies ist die einzige Möglichkeit, die private Schlüsseldatei zu speichern.

  6. Wenn Sie einen SSH-Client auf Ihrem macOS X- oder Linux-Computer verwenden, um eine Verbindung mit Ihrer Linux-Instance herzustellen, legen Sie die Berechtigungen für Ihre private Schlüsseldatei mit dem folgenden Befehl so fest, dass nur Sie diese lesen können.

    chmod 400 my-key-pair.pem

    Wenn Sie diese Berechtigungen nicht festlegen, können Sie unter Verwendung dieses Schlüsselpaars keine Verbindung zu Ihrer Instance herstellen. Weitere Informationen finden Sie unter Fehler: Ungeschützte private Schlüsseldatei.

AWS CLI

So erstellen Sie Ihr Schlüsselpaar

  1. Verwenden Sie den AWS CLI-Befehl create-key-pair wie folgt, um den Schlüssel zu generieren und in einer .pem-Datei zu speichern.

    aws ec2 create-key-pair --key-name my-key-pair --query "KeyMaterial" --output text > my-key-pair.pem
  2. Wenn Sie einen SSH-Client auf Ihrem macOS X- oder Linux-Computer verwenden, um eine Verbindung mit Ihrer Linux-Instance herzustellen, legen Sie die Berechtigungen für Ihre private Schlüsseldatei mit dem folgenden Befehl so fest, dass nur Sie diese lesen können.

    chmod 400 my-key-pair.pem

    Wenn Sie diese Berechtigungen nicht festlegen, können Sie unter Verwendung dieses Schlüsselpaars keine Verbindung zu Ihrer Instance herstellen. Weitere Informationen finden Sie unter Fehler: Ungeschützte private Schlüsseldatei.

PowerShell

So erstellen Sie Ihr Schlüsselpaar

Verwenden Sie den AWS Tools for Windows PowerShell-Befehl New-EC2KeyPair wie folgt, um den Schlüssel zu generieren und in einer .pem-Datei zu speichern.

PS C:\> (New-EC2KeyPair -KeyName "my-key-pair").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem

Option 2: Importieren Ihres eigenen öffentlichen Schlüssels in Amazon EC2

Anstelle der Verwendung von Amazon EC2 zum Erstellen des Schlüsselpaars können Sie ein RSA-Schlüsselpaar mit einem Tool eines Drittanbieters verwenden und den öffentlichen Schlüssel anschließend in Amazon EC2 importieren.

Anforderungen für Schlüsselpaare

  • Folgende Formate werden unterstützt:

    • OpenSSH-Format für öffentliche Schlüssel (das Format in ~/.ssh/authorized_keys) Bei einer Verbindung via SSH und Verwendung der EC2 Instance Connect-API wird auch das SSH2-Format unterstützt.

    • Base64-codiertes DER-Format

    • SSH-Dateiformat für öffentliche Schlüssel wie in RFC4716 angegeben

    • Das private Schlüsseldateiformat von SSH muss PEM sein

  • Erstellen Sie einen RSA-Schlüssel. Amazon EC2 akzeptiert keine DSA-Schlüssel.

  • Die unterstützten Längen sind 1 024, 2 048 und 4 096. Bei einr Verbindung via SSH und Verwendung der EC2 Instance Connect-API werden die Längen 2048 und 4096 unterstützt.

So erstellen Sie ein Schlüsselpaar mit einem Tool eines Drittanbieters

  1. Generieren Sie ein Schlüsselpaar mit einem Tool eines Drittanbieters Ihrer Wahl. Beispiel: Sie können ssh-keygen (ein mit der standardmäßigen OpenSSH-Installation bereitgestelltes Tool) verwenden. Alternativ bieten Java, Ruby, Python und viele andere Programmiersprachen Standardbibliotheken, die Sie zum Erstellen eines RSA-Schlüsselpaars verwenden können.

    Wichtig

    Der private Schlüssel muss im PEM-Format vorliegen. Verwenden Sie zum Beispiel ssh-keygen -m PEM, um den OpenSSH-Schlüssel im PEM-Format zu generieren.

  2. Speichern Sie den öffentlichen Schlüssel in einer lokalen Datei. Beispiel, ~/.ssh/my-key-pair.pub. Die Dateinamenerweiterung für diese Datei ist nicht wichtig.

  3. Speichern Sie den privaten Schlüssel in einer lokalen Datei mit der Erweiterung .pem. Beispiel, ~/.ssh/my-key-pair.pem.

    Wichtig

    Speichern Sie die Datei mit dem privaten Schlüssel an einem sicheren Ort. Sie müssen den Namen für Ihren öffentlichen Schlüssel beim Starten einer Instance angeben. Der entsprechende private Schlüssel muss jedes Mal angegeben werden, wenn Sie eine Verbindung mit der Instance herstellen.

Nachdem Sie das Schlüsselpaar erstellt haben, verwenden Sie eine der folgenden Methoden, um den öffentlichen Schlüssel in Amazon EC2 zu importieren.

New console

So importieren Sie den öffentlichen Schlüssel

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich die Option Key Pairs aus.

  3. Wählen Sie Import Key Pair (Schlüsselpaar importieren) aus.

  4. Geben Sie unter Name einen aussagekräftigen Namen für den öffentlichen Schlüssel ein. Der Name kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.

    Anmerkung

    Wenn Sie über die EC2-Konsole eine Verbindung zu Ihrer Instance herstellen, schlägt die Konsole diesen Namen für den Namen Ihrer privaten Schlüsseldatei vor.

  5. Wählen Sie entweder Browse (Durchsuchen), um zu Ihrem öffentlichen Schlüssel zu navigieren und ihn auszuwählen, oder fügen Sie den Inhalt Ihres öffentlichen Schlüssels in das Feld Public key contents (Inhalt des öffentlichen Schlüssels) ein.

  6. Wählen Sie Import Key Pair (Schlüsselpaar importieren) aus.

  7. Stellen Sie sicher, dass der importierte öffentliche Schlüssel in der Liste der Schlüsselpaare angezeigt wird.

Old console

So importieren Sie den öffentlichen Schlüssel

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich unter NETWORK & SECURITY auf Key Pairs.

  3. Wählen Sie Import Key Pair (Schlüsselpaar importieren) aus.

  4. Wählen Sie im Dialogfeld Import Key Pair (Schlüsselpaar importieren) die Option Browse (Durchsuchen) aus, und wählen Sie die Datei mit dem öffentlichen Schlüssel aus, die Sie zuvor gespeichert haben. Geben Sie in das Feld Key pair name (Name des Schlüsselpaars) einen Namen für das Schlüsselpaar ein und klicken Sie auf Import (Importieren). Der Name kann bis zu 255 ASCII-Zeichen enthalten. Er darf keine führenden oder nachfolgenden Leerzeichen enthalten.

  5. Stellen Sie sicher, dass das importierte Schlüsselpaar in der Liste der Schlüsselpaare angezeigt wird.

AWS CLI

So importieren Sie den öffentlichen Schlüssel

Verwenden Sie den AWS CLI-Befehl import-key-pair.

So überprüfen Sie, ob das Schlüsselpaar erfolgreich importiert wurde

Verwenden Sie den AWS CLI-Befehl describe-key-pairs.

PowerShell

So importieren Sie den öffentlichen Schlüssel

Verwenden Sie den AWS Tools for Windows PowerShell-Befehl Import-EC2KeyPair.

So überprüfen Sie, ob das Schlüsselpaar erfolgreich importiert wurde

Verwenden Sie den AWS Tools for Windows PowerShell-Befehl Get-EC2KeyPair.

Taggen eines Schlüsselpaars

Um die Kategorisierung und Verwaltung Ihrer vorhandenen Schlüsselpaare zu vereinfachen, können Sie sie mit benutzerdefinierten Metadaten taggen. Weitere Informationen zur Funktionsweise von Tags finden Sie unter Markieren Ihrer Amazon EC2-Ressourcen mit Tags.

Sie können Tags mit der neuen Konsole und den Befehlszeilen-Tools anzeigen, hinzufügen und löschen.

New console

So zeigen Sie ein Tag für ein vorhandenes Schlüsselpaar an, fügen es hinzu oder löschen es

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich die Option Key Pairs aus.

  3. Wählen Sie ein Schlüsselpaar aus, und wählen Sie dann Actions (Aktionen), Manage tags (Tags verwalten).

  4. Auf der Seite Manage tags (Tags verwalten) werden alle Tags angezeigt, die dem Schlüsselpaar zugewiesen sind.

    • Um ein Tag hinzuzufügen, wählen Sie Add tag (Tag hinzufügen) und geben Sie dann den Tag-Schlüssel und -Wert ein. Sie können Sie bis zu 50 Tags pro Schlüsselpaar hinzufügen. Weitere Informationen finden Sie unter Tag-Einschränkungen.

    • Um ein Tag zu löschen, wählen Sie Remove (Entfernen) neben dem zu löschenden Tag.

  5. Wählen Sie Save (Speichern) aus.

AWS CLI

So zeigen Sie Schlüsselpaar-Tags an

Verwenden Sie den AWS CLI-Befehl describe-tags. Im folgenden Beispiel beschreiben Sie die Tags für alle Schlüsselpaare.

$ aws ec2 describe-tags --filters "Name=resource-type,Values=key-pair"
{ "Tags": [ { "Key": "Environment", "ResourceId": "key-0123456789EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }, { "Key": "Environment", "ResourceId": "key-9876543210EXAMPLE", "ResourceType": "key-pair", "Value": "Production" }] }

So beschreiben Sie die Tags für ein bestimmtes Schlüsselpaar

Verwenden Sie den AWS CLI-Befehl describe-key-pairs.

$ aws ec2 describe-key-pairs --key-pair-ids key-0123456789EXAMPLE
{ "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", "KeyPairId": "key-0123456789EXAMPLE", "Tags": [ { "Key": "Environment", "Value": "Production" }] }] }

So markieren Sie ein vorhandenes Schlüsselpaar

Verwenden Sie den AWS CLI-Befehl create-tags. Im folgenden Beispiel wird das vorhandene Schlüsselpaar mit Key=Cost-Center und Value=CC-123 gekennzeichnet.

$ aws ec2 create-tags --resources key-0123456789EXAMPLE --tags Key=Cost-Center,Value=CC-123

So löschen Sie ein Tag aus einem Schlüsselpaar

Verwenden Sie den AWS CLI-Befehl delete-tags. Beispiele finden Sie unter Examples (Beispiele) in der AWS CLI-Befehlsreferenz.

PowerShell

So zeigen Sie Schlüsselpaar-Tags an

Verwenden Sie den Befehl Get-EC2Tag.

So beschreiben Sie die Tags für ein bestimmtes Schlüsselpaar

Verwenden Sie den Befehl Get-EC2KeyPair.

So markieren Sie ein vorhandenes Schlüsselpaar

Verwenden Sie den Befehl New-EC2Tag.

So löschen Sie ein Tag aus einem Schlüsselpaar

Verwenden Sie den Befehl Remove-EC2Tag.

Abrufen des öffentlichen Schlüssels für Ihr Schlüsselpaar

Sie können auf Ihrem lokalen Linux- oder macOS-Computer den Befehl ssh-keygen verwenden, um den öffentlichen Schlüssel für Ihr Schlüsselpaar abzurufen. Geben Sie den Pfad an, in den Sie Ihren privaten Schlüssel heruntergeladen haben (die .pem-Datei).

ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem

Der Befehl gibt den öffentlichen Schlüssel zurück, wie im folgenden Beispiel gezeigt.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

Falls der Befehl fehlschlägt, führen Sie den folgenden Befehl aus, um sicherzustellen, dass Sie die Berechtigungen für Ihre Schlüsselpaardatei so geändert haben, dass nur Sie diese anzeigen können.

chmod 400 my-key-pair.pem

Abrufen des öffentlichen Schlüssels für Ihr Schlüsselpaar über Instance-Metadaten

Der von Ihnen beim Start einer Instance angegebene öffentliche Schlüssel steht Ihnen ebenso über seine Instance-Metadaten zur Verfügung. Zum Anzeigen des von Ihnen beim Start der Instance angegebenen öffentlichen Schlüssels verwenden Sie folgenden Befehl in Ihrer Instance:

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

Im Folgenden finden Sie eine Beispielausgabe.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key

Im Folgenden finden Sie eine Beispielausgabe.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

Wenn Sie das Schlüsselpaar ändern, mit dem Sie eine Verbindung mit der Instance herstellen, aktualisieren wir die Instance-Metadaten nicht, um den neuen öffentlichen Schlüssel anzuzeigen. Stattdessen zeigen die Instance-Metadaten weiterhin den öffentlichen Schlüssel für das Schlüsselpaar an, das Sie beim Starten der Instance angegeben haben. Weitere Informationen finden Sie unter Abrufen von Instance-Metadaten.

Alternativ wird auf einer Linux-Instance der Inhalt des öffentlichen Schlüssels in einem Eintrag in platzier ~/.ssh/authorized_keys. Sie können diese Datei in einem Editor öffnen. Folgendes ist ein Beispieleintrag für das Schlüsselpaar mit der Bezeichnung my-key-pair. Es besteht aus dem öffentlichen Schlüssel gefolgt vom Namen des Schlüsselpaars.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

Lokalisieren des öffentlichen Schlüssels auf einer Instance

Wenn Sie eine Instance starten, werden Sie zur Eingabe des Namens eines Schlüsselpaares aufgefordert. Wenn Sie eine Verbindung zu der Instance über SSH herstellen möchten, müssen Sie ein Schlüsselpaar angeben. Wählen Sie ein vorhandenes Schlüsselpaar oder erstellen Sie ein neues. Wenn Ihre Instance zum ersten Mal gestartet wird, wird der Inhalt des öffentlichen Schlüssels, den Sie beim Start angegeben haben, auf Ihrer Linux-Instance in einem Eintrag innerhalb von platzier ~/.ssh/authorized_keys.

So lokalisieren Sie den öffentlichen Schlüssel auf einer Instance

  1. Verbinden Sie sich mit der Instance. Weitere Informationen finden Sie unter Herstellen einer Verbindung zur Linux-Instance.

  2. Öffnen Sie die authorized_keys-Datei im Terminalfenster mit Ihrem bevorzugten Texteditor (z. B. vim oder nano).

    [ec2-user ~]$ nano ~/.ssh/authorized_keys

    Die authorized_keys-Datei wird geöffnet und zeigt den öffentlichen Schlüssel an, wie im folgenden Beispiel gezeigt.

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

Identifizieren des Schlüsselpaars, das beim Start angegeben wurde

Wenn Sie eine Instance starten, werden Sie zur Eingabe des Namens eines Schlüsselpaares aufgefordert. Wenn Sie eine Verbindung zu der Instance über SSH herstellen möchten, müssen Sie ein Schlüsselpaar angeben.

New console

So identifizieren Sie das Schlüsselpaar, das beim Start angegeben wurde

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Auf der Registerkarte Details unter Instance details (Instance-Details) zeigt das Feld Key pair name (Schlüsselpaarname) den Namen des Schlüsselpaars an, das Sie beim Starten der Instance angegeben haben. Der Wert des Schlüsselpaarnamens ändert sich nicht, selbst wenn Sie den öffentlichen Schlüssel in der Instance ändern oder Schlüsselpaare hinzufügen.

Old console

So identifizieren Sie das Schlüsselpaar, das beim Start angegeben wurde

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Auf der Registerkarte Beschreibung zeigt das Feld Schlüsselpaarname den Namen des Schlüsselpaars an, das Sie beim Starten der Instance angegeben haben. Der Wert des Schlüsselpaarnamens ändert sich nicht, selbst wenn Sie den öffentlichen Schlüssel in der Instance ändern oder Schlüsselpaare hinzufügen.

(Optional) Überprüfen des Fingerabdrucks Ihres Schlüsselpaars

Auf der Seite Key Pairs (Schlüsselpaare) in der Amazon EC2-Konsole zeigt die Spalte Fingerprint die von Ihren Schlüsselpaaren erzeugten Fingerabdrücke an. AWS berechnet den Fingerabdruck unterschiedlich, je nachdem, ob das Schlüsselpaar von AWS oder einem Drittanbietertool erzeugt wurde. Falls Sie das Schlüsselpaar mit AWS erstellt haben, wird der Fingerabdruck mit einer SHA-1-Hash-Funktion berechnet. Falls Sie das Schlüsselpaar mit einem Drittanbietertool erstellt und den öffentlichen Schlüssel in AWS hochgeladen haben oder falls Sie einen neuen öffentlichen Schlüssel aus einem bestehenden, in AWS erstellten privaten Schlüssel generiert und in AWS hochgeladen haben, wird der Fingerabdruck mit einer MD5-Hash-Funktion berechnet.

Sie können den auf der Seite Schlüsselpaare angezeigten SSH2-Fingerabdruck verwenden, um zu überprüfen, ob der private Schlüssel auf Ihrem lokalen Computer dem öffentlichen Schlüssel entspricht, der in AWS gespeichert ist. Erstellen Sie auf dem Computer, auf den Sie die private Schlüsseldatei heruntergeladen haben, einen SSH2-Fingerabdruck aus der privaten Schlüsseldatei. Die Ausgabe muss dem auf der Konsole angezeigten Fingerabdruck entsprechen.

Wenn Sie einen lokalen Windows-Computer verwenden, können Sie die folgenden Befehle mit dem Windows-Subsystem für Linux (WSL) ausführen. Installieren Sie WSL und eine Linux-Distribution mithilfe der Anleitung im Installationshandbuch für Windows 10. Mit dem in der Anleitung genannten Beispiel wird die Ubuntu-Distribution von Linux installiert, Sie können jedoch jede beliebige Distribution installieren. Sie werden zum Neustart Ihres Computers aufgefordert, damit die Änderungen wirksam werden.

Wenn Sie Ihr Schlüsselpaar mit AWSerstellt haben, können Sie mit den OpenSSL-Tools einen Fingerabdruck generieren, wie im folgenden Beispiel gezeigt.

$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

Falls Sie ein Schlüsselpaar mit einem Drittanbietertool erstellt und den öffentlichen Schlüssel in AWS hochgeladen haben, können Sie die OpenSSL-Tools zum Generieren des Fingerabdrucks verwenden, wie im folgenden Beispiel veranschaulicht.

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

Falls Sie ein OpenSSH-Schlüsselpaar mit OpenSSH 7.8 oder höher erstellt und den öffentlichen Schlüssel in AWS hochgeladen haben, können Sie ssh-keygen zum Generieren des Fingerabdrucks verwenden, wie im folgenden Beispiel veranschaulicht.

$ ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c

Hinzufügen oder Ersetzen eines Schlüsselpaars für Ihre Instance

Sie können das Schlüsselpaar ändern, das für den Zugriff auf das Standard-Systemkonto Ihrer Instance verwendet wird, indem Sie einen neuen öffentlichen Schlüssel für die Instance hinzufügen oder den öffentlichen Schlüssel für die Instance ersetzen (Löschen des vorhandenen öffentlichen Schlüssels und Hinzufügen eines neuen Schlüssels). Dies kann aus den folgenden Gründen erforderlich sein:

  • Falls ein Benutzer in Ihrer Organisation mithilfe eines separaten Schlüsselpaares Zugriff auf das Systembenutzerkonto benötigt, können Sie den öffentlichen Schlüssel Ihrer Instance hinzufügen.

  • Oder falls ein Benutzer eine Kopie des privaten Schlüssels (.pem-Datei) besitzt und Sie verhindern möchten, dass er eine Verbindung zu Ihrer Instance herstellt (beispielsweise weil er Ihre Organisation verlassen hat), können Sie den öffentlichen Schlüssel für die Instance löschen und durch einen neuen ersetzen.

Die öffentlichen Schlüssel befinden sich in der Datei .ssh/authorized_keys auf der Instance.

Um ein Schlüsselpaar hinzuzufügen oder zu ersetzen, müssen Sie eine Verbindung zu Ihrer Instance herstellen können. Wenn Sie Ihren vorhandenen privaten Schlüssel verloren haben oder Ihre Instance ohne Schlüsselpaar gestartet haben, können Sie keine Verbindung zu Ihrer Instance herstellen und daher kein Schlüsselpaar hinzufügen oder ersetzen. Wenn Sie Ihren privaten Schlüssel verloren haben, können Sie ihn möglicherweise abrufen. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Ihrer Linux-Instance, wenn Sie Ihren privaten Schlüssel verlieren. Wenn Sie die Instance ohne Schlüsselpaar gestartet haben, können Sie keine Verbindung zur Instance herstellen, es sei denn, Sie wählen ein AMI aus, das so konfiguriert ist, dass Benutzern eine andere Anmeldemöglichkeit erlaubt ist.

Anmerkung

Diese Vorgehensweisen sind für das Ändern des Schlüsselpaares für das Standardbenutzerkonto vorgesehen, wie etwa ec2-user. Informationen zum Hinzufügen von Benutzerkonten zu Ihrer Instance finden Sie unter Verwalten von Benutzerkonten auf einer Amazon Linux-Instance.

So fügen Sie ein Schlüsselpaar hinzu oder ersetzen es

  1. Erstellen Sie ein neues Schlüsselpaar mit der Amazon EC2-Konsole oder einem Tool eines Drittanbieters.

  2. Rufen Sie den öffentlichen Schlüssel über Ihr neues Schlüsselpaar ab. Weitere Informationen finden Sie unter Abrufen des öffentlichen Schlüssels für Ihr Schlüsselpaar.

  3. Stellen Sie eine Verbindung zu Ihrer Instance mithilfe Ihres bestehenden privaten Schlüssels her.

  4. Öffnen Sie die .ssh/authorized_keys-Datei in einem Texteditor Ihrer Wahl. Fügen Sie die Informationen zum öffentlichen Schlüssel aus Ihrem neuen Schlüsselpaar unter den Informationen zum vorhandenen öffentlichen Schlüssel ein. Speichern Sie die Datei.

  5. Trennen Sie die Verbindung zu Ihrer Instance und testen Sie, ob Sie mit der Datei des neuen privaten Schlüssels eine Verbindung zu Ihrer Instance herstellen können.

  6. (Optional) Falls Sie ein vorhandenes Schlüsselpaar ersetzen, stellen Sie eine Verbindung zu Ihrer Instance her und löschen Sie die Informationen zum öffentlichen Schlüssel für Ihr ursprüngliches Schlüsselpaar aus der .ssh/authorized_keys-Datei.

Anmerkung

Wenn Sie eine Auto-Scaling-Gruppe verwenden, stellen Sie sicher, dass das Schlüsselpaar, das Sie ersetzen, nicht in Ihrer Startvorlage oder Startkonfiguration angegeben ist. Wenn Amazon EC2 Auto Scaling eine fehlerhafte Instance erkennt, startet es eine Ersatz-Instance. Der Start der Instance schlägt jedoch fehl, wenn das Schlüsselpaar nicht gefunden werden kann. Weitere Informationen finden Sie unter Startvorlagen im Benutzerhandbuch für Amazon EC2 Auto Scaling.

Löschen Ihres Schlüsselpaars

Wenn Sie ein Schlüsselpaar mithilfe der folgenden Methoden löschen, wird lediglich der öffentliche Schlüssel gelöscht, der in Amazon EC2 gespeichert wurde, als Sie das Schlüsselpaar erstellt oder importiert haben. Beim Löschen eines Schlüsselpaars wird der öffentliche Schlüssel nicht aus den Instances entfernt, die zuvor mithilfe dieses Schlüsselpaars gestartet wurden. Außerdem wird der private Schlüssel dabei nicht auf Ihrem lokalen Computer gelöscht. Sie können weiterhin Verbindungen zu Instances herstellen, die Sie mit einem Schlüsselpaar gestartet haben, das anschließend gelöscht wurde, solange Sie noch die Datei mit dem privaten Schlüssel haben (.pem).

Anmerkung

Informationen zum Löschen des öffentlichen Schlüssels aus einer Instance finden Sie unter Löschen eines öffentlichen Schlüssels aus einer Instance.

Wenn Sie eine Auto-Scaling-Gruppe verwenden (z. B. in einer Elastic Beanstalk-Umgebung), stellen Sie sicher, dass das Schlüsselpaar, das Sie löschen, nicht in einer verknüpften Startvorlage oder Startkonfiguration angegeben ist. Wenn Amazon EC2 Auto Scaling eine fehlerhafte Instance erkennt, startet es eine Ersatz-Instance. Der Start der Instance schlägt jedoch fehl, wenn das Schlüsselpaar nicht gefunden werden kann. Weitere Informationen finden Sie unter Startvorlagen im Benutzerhandbuch für Amazon EC2 Auto Scaling.

Sie können mit einer der folgenden Methoden ein Schlüsselpaar löschen.

New console

So löschen Sie Ihr Schlüsselpaar

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich die Option Key Pairs aus.

  3. Wählen Sie das zu löschende Schlüsselpaar aus und wählen Sie Delete (Löschen).

  4. Geben Sie in das Bestätigungsfeld Delete ein und wählen Sie dann Delete (Löschen).

Old console

So löschen Sie Ihr Schlüsselpaar

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich unter NETWORK & SECURITY auf Key Pairs.

  3. Wählen Sie das Schlüsselpaar aus und klicken Sie auf Delete (Löschen).

  4. Wählen Sie nach Aufforderung die Option Yes (Ja) aus.

AWS CLI

So löschen Sie Ihr Schlüsselpaar

Verwenden Sie den AWS CLI-Befehl delete-key-pair.

PowerShell

So löschen Sie Ihr Schlüsselpaar

Verwenden Sie den AWS Tools for Windows PowerShell-Befehl Remove-EC2KeyPair.

Löschen eines öffentlichen Schlüssels aus einer Instance

Wenn Sie ein Linux-AMI aus einer Instance erstellen, werden die Informationen zum öffentlichen Schlüssel von der Instance in das AMI kopiert. Wenn Sie eine Instance über das AMI starten, enthält die neue Instance den öffentlichen Schlüssel aus der ursprünglichen Instance. Um zu verhindern, dass ein Benutzer, der im Besitz des privaten Schlüssels ist, eine Verbindung mit der neuen Instance herstellen kann, löschen Sie den öffentlichen Schlüssel aus der ursprünglichen Instance, bevor Sie das AMI erstellen.

Löschen eines öffentlichen Schlüssels aus einer Instance

  1. Verbinden Sie sich mit der Instance.

  2. Öffnen Sie die .ssh/authorized_keys-Datei in einem Texteditor Ihrer Wahl. Löschen Sie die Informationen zum öffentlichen Schlüssel und speichern Sie die Datei.

Warnung

Nachdem Sie den öffentlichen Schlüssel aus der Instance gelöscht und die Verbindung zur Instance getrennt haben, können Sie keine neue Verbindung mit der Instance herstellen – es sei denn, das AMI bietet eine andere Möglichkeit zur Anmeldung.