Knowledge Center Monthly Newsletter - June 2025
Stay up to date with the latest from the Knowledge Center. See all new Knowledge Center articles published in the last month, and re:Post's top contributors.
Wie stelle ich eine Verbindung zu meiner Amazon EC2-Instance her, wenn ich mein SSH-Schlüsselpaar nach dem ersten Instance-Start verliere?
Ich möchte eine Verbindung zu meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance herstellen, aber ich habe das SSH-Schlüsselpaar verloren.
Kurzbeschreibung
Verwende eine der folgenden Methoden, um eine Verbindung zu einer EC2-Instance herzustellen, wenn du das SSH-Schlüsselpaar verlierst:
- Gib den Benutzerdaten ein, um ein neues Schlüsselpaar zu erstellen.
- Verwende für Instances, bei denen es sich um verwaltete Knoten handelt, AWS Systems Manager, um das Schlüsselpaar wiederherzustellen.
- Für Instances mit Amazon Linux Version 2 2.0.20190618 und höher oder Amazon Linux 2023 verwende EC2 Instance Connect.
- Wenn du die Instance erreichen kannst und Zugriff auf die serielle EC2-Konsole hast, verwende die serielle Konsole.
Hinweis: Bei dieser Methode musst du die Instance nicht beenden und starten
Wichtig: Bevor du die Instance anhältst und startest, gehe wie folgt vor:
- Erstelle ein Backup des Amazon Elastic Block Store (Amazon EBS)-Volumes.
Hinweis: Wenn die Instance vom Instance-Speicher unterstützt wird oder über Instance-Speicher-Volumes verfügt, die Daten enthalten, löscht Amazon EC2 die Daten, wenn du die Instance anhältst. - Stelle das Verhalten beim Herunterfahren der Instance auf Stopp ein, um sicherzustellen, dass die Instances nicht beendet werden, wenn du sie anhältst.
Hinweis: Wenn du eine Instance anhältst und startest, ändert sich die öffentliche IP-Adresse der Instance. Es empfiehlt sich, beim Weiterleiten von externem Datenverkehr an die Instance eine Elastic-IP-Adresse anstelle einer öffentlichen IP-Adresse zu verwenden.
Lösung
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 von AWS CLI verwendest.
Benutzerdaten eingeben
Führe die folgenden Schritte aus:
- Erstelle ein neues Schlüsselpaar.
- Wenn du den privaten Schlüssel in der Amazon-EC2-Konsole erstellst, rufe den öffentlichen Schlüssel für das Schlüsselpaar ab.
- Öffne die Amazon-EC2-Konsole.
- Stoppe die Instance.
- Wähle Aktionen und dann Instance-Einstellungen.
- Wähle Benutzerdaten bearbeiten und gib dann das folgende Skript ein:
Hinweis: Ersetze Benutzernamen durch den Standardbenutzernamen oder durch einen benutzerdefinierten Benutzernamen, den du bereits erstellt hast. Ersetze außerdem PublicKeyPair durch die vollständige öffentliche SSH-Schlüsselzeichenfolge, die mit ssh-rsa beginnt.Content-Type: multipart/mixed; boundary="//"MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cloud-config.txt" #cloud-config cloud_final_modules: - [users-groups, once] users: - name: username ssh-authorized-keys: - PublicKeypair
- Wähle Speichern.
- Starte deine Instance.
- Wenn cloud-init in der Ausgabe der Instance-Konsole erfolgreich abgeschlossen wurde, verwende das neue Schlüsselpaar, um eine SSH-Verbindung zu der Instance herzustellen. Wenn du eine Verbindung herstellen kannst, hat Amazon EC2 den öffentlichen Schlüssel korrekt hinzugefügt.
(Optional) Nachdem du den SSH-Zugriff bestätigt hast, führe die folgenden Schritte aus, um die Befehle aus den Benutzerdaten der Instance zu entfernen:
- Stoppe die Instance.
- Wähle Aktionen und dann Instance-Einstellungen.
- Wähle Benutzerdaten bearbeiten und lösche dann den gesamten Inhalt aus dem Feld.
- Wähle Speichern.
- Starte deine Instance.
AWS Systems Manager verwenden
Um eine Instance wiederherzustellen, die ein verwalteter Knoten in Systems Manager ist, verwende das AWSSupport-ResetAccess-Runbook, um das Schlüsselpaar wiederherzustellen. AWSSupport-ResetAccess verwendet EC2Rescue, um automatisch ein neues SSH-Schlüsselpaar zu generieren und auf der Instance hinzuzufügen.
Systems Manager verschlüsselt und speichert den neuen privaten SSH-Schlüssel für die Instance im Parameter Store, einer Funktion von AWS Systems Manager, als /ec2rl/openssh/instance_id/key.
Führe den folgenden AWS-CLI-Befehl get-parameters aus, um den privaten SSH-Schlüssel aus dem Parameterspeicher abzurufen:
aws ssm get-parameters --names "/ec2rl/openssh/instance_id/key" --with-decryption --output json --query "Parameters[0].Value" | sed 's:\\n:\n:g; s:^"::; s:"$::' > key-pair-name
Hinweis: Ersetze instance_id durch die Instance-ID und key-pair-name durch den Namen des Schlüsselpaars.
Erstelle dann eine neue PEM-Datei mit dem Wert des Parameters als Inhalt. Verwende die PEM-Datei, um erneut eine Verbindung zu der nicht erreichbaren Instance herzustellen.
Um den privaten Schlüssel in eine „.pem“-Datei zu konvertieren, führe den folgenden Befehl aus:
ssh-keygen -f key-pair-name -e -m pem > key-pair-name.pem
Hinweis: Ersetze key-pair-name durch den Namen des Schlüsselpaars.
Das Automatisierungs-Runbook erstellt ein kennwortgeschütztes Amazon Machine Image (AMI)-Backup. Das neue AMI wird nicht automatisch gelöscht und verbleibt im AWS-Konto.
Gehe wie folgt vor, um das AMI zu finden:
- Öffne die Amazon-EC2-Konsole.
- Wähle ** AMIs**.
- Gib die ID der Automatisierung in das Suchfeld ein.
EC2 Instance Connect verwenden
Informationen zum Herstellen einer Verbindung mit einer Amazon Linux-Instance findest du unter Herstellen einer Verbindung zu einer Linux-Instance mithilfe von EC2 Instance Connect.
Verwenden der seriellen EC2-Konsole
Wenn du auf die serielle EC2-Konsole für Linux zugreifen kannst, verwende die Konsole zur Fehlerbehebung bei unterstützten Nitro-basierten Instance-Typen. Weitere Informationen findest du unter Zugriff auf die serielle EC2-Konsole konfigurieren.
Ähnliche Informationen
Befehle ausführen, wenn du eine EC2-Instance mit Benutzerdateneingabe startest
- Sprache
- Deutsch
