Wie stelle ich die Verbindung zu meiner EC2-Instance wieder her?
Ich habe die Verbindung zu meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance verloren und möchte den Zugriff wiederherstellen.
Kurzbeschreibung
Führe zunächst anhand des Instance- und Systemstatus eine Fehlerbehebung für die EC2-Instance durch.
Wenn du immer noch keine Verbindung herstellen kannst, stelle die SSH-, EC2 Instance Connect- oder Session Manager-Verbindung, eine Funktion von AWS Systems Manager, wieder her. Oder versuche mit der seriellen EC2-Konsole, die Verbindung wiederherzustellen.
Hinweis: In der Regel verwende die serielle EC2-Konsole nur zur Problembehandlung, nicht zur Ausführung von Standardprozessen.
Wenn die Verbindungsmethode nicht funktioniert, verwende eine andere Verbindungsmethode, um auf die Instance zuzugreifen und Probleme zu beheben.
Wenn du die Verbindung immer noch nicht wiederherstellen kannst, verwende eine Rettungs-Instance, um die Protokolle der betroffenen Instance auf Fehler zu überprüfen.
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.
Instance und den Systemstatus überprüfen
Verwende die Amazon EC2-Konsole, um zu überprüfen, ob sowohl der Systemstatus als auch der Instance-Status OK anzeigt. Du kannst auch Amazon CloudWatch-Metriken verwenden, um den Status der Instance zu überprüfen und Probleme zu identifizieren, die sich auf die Konnektivität auswirken.
Hinweis: Es empfiehlt sich, nach geplanten Wartungsarbeiten und anderen Ereignissen zu suchen, die sich auf die Instance-Konnektivität auswirken können.
Wenn der Systemstatus nicht OK ist, liegt das Problem möglicherweise an der AWS-Infrastruktur. Informationen zur Behebung dieses Problems findest du unter Warum hat meine EC2-Linux-Instance eine Systemstatusüberprüfung nicht bestanden?
Wenn der Instance-Status nicht OK ist, starte die Instance neu. Ein Neustart der Instance behebt in der Regel kleinere Probleme. Wenn du immer noch keine Verbindung herstellen kannst, beende und starte die Instance, um die Instance auf eine fehlerfreie Hardware zu migrieren.
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.
SSH-Verbindung wiederherstellen
Sicherheitsgruppenregeln überprüfen
Stell sicher, dass die Regeln für eingehende Sicherheitsgruppen den Zugriff auf Port 22 von die IP-Adresse aus zulassen. Führe den folgenden AWS-CLI-Befehl describe-security-groups aus, um die Sicherheitsgruppenregeln zu überprüfen:
aws ec2 describe-security-groups --group-ids SG-IDs
**Hinweis:**Ersetze SG-IDs durch die Sicherheitsgruppen-IDs.
Wenn du nicht auf Port 22 zugreifen kannst, führe den folgenden Befehl authorize-security-group-ingress aus, um die Regeln für den Zugriff zu aktualisieren:
aws ec2 authorize-security-group-ingress --group-id SG-ID --protocol tcp --port 22 --cidr SOURCE-IP/32
Hinweis: Ersetze SG-ID durch die Sicherheitsgruppen-ID und SOURCE-IP durch die Quell-IP-Adresse. Wenn es sich bei der Quell-IP-Adresse um eine öffentliche IP-Adresse handelt, kannst du das Tool checkip.amazonaws verwenden, um die IP-Adresse zu identifizieren.
Netzwerk-ACLs überprüfen
Standardmäßig lassen Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs) den gesamten eingehenden und ausgehenden Datenverkehr zu. Stelle sicher, dass die Netzwerk-ACLs eingehenden SSH-Zugriff auf die Instance und ausgehenden Zugriff auf kurzlebige Ports zulassen (1024-65535). Wenn die Netzwerk-ACLs Port 22 blockieren, füge eine neue Regel hinzu, um den Datenverkehr zuzulassen. Stelle bei öffentlichen IP-Adressen sicher, dass die Routing-Tabelle einen Eintrag enthält, der den Datenverkehr an ein Internet-Gateway weiterleitet.
Benutzernamen und deine IP-Adresseinstellungen überprüfen
Stelle sicher, dass du den richtigen Benutzernamen für die Instance verwendest. Stelle dann von einer öffentlichen IP-Adresse aus eine Verbindung zur Instance her.
Hinweis: Wenn du eine Verbindung von einer privaten IP-Adresse aus herstellst, stelle sicher, dass du eine funktionierende Netzwerkverbindung zur Ziel-Instance hast.
Den SSH-Serverstatus überprüfen
Um den Status des SSH-Servers zu überprüfen, verwende Session Manager, EC2 Instance Connect oder die serielle EC2-Konsole, um eine Verbindung zur Instance herzustellen.
Führe den folgenden Befehl aus, um den Status des SSH-Dienstes basierend auf der Distribution zu überprüfen:
Systeme, die systemd verwenden:
sudo systemctl status sshd
Ubuntu- oder Debian-Systeme:
sudo systemctl status ssh
Legacy-Systeme wie CentOS 6:
sudo service sshd status
Wenn der SSH-Dienststatus Angehalten lautet, führe den folgenden Befehl aus, um den Service entsprechend der Distribution zu starten:
Systeme, die systemd verwenden:
sudo systemctl start sshd
Ubuntu- oder Debian-Systeme:
systemctl start ssh
Legacy-Systeme wie CentOS 6:
sudo service sshd start
Die Dateiberechtigungen für private Schlüssel überprüfen
Stelle sicher, dass die private Schlüsseldatei schreibgeschützt ist.
Testen der Netzwerkkonnektivität
Um die Konnektivität zu Port 22 zu testen, führen einen der folgenden Befehle vom Client aus:
nc -zv Host 22
-oder-
telnet Host 22
Hinweis: Ersetze Host durch die IP-Adresse oder den vollqualifizierten Domainnamen (FQDN).
Führe dann den folgenden Befehl aus, um die SSH-Verbindung zu der Instance im ausführlichen Modus zu verwenden:
ssh -i key_pair.pem user@Host -vvv
Hinweis: Ersetze Host durch die IP-Adresse oder den FQDN.
Informationen zur Behebung von Verbindungsproblemen findest du unter Wie behebe ich die Fehler „Connection refused“ oder „Connection timed out“, wenn ich SSH verwende, um eine Verbindung zu meiner EC2-Instance herzustellen?und Probleme bei der Verbindung zur Amazon EC2-Linux-Instance beheben.
Die EC2 Instance Connect-Verbindung wiederherstellen
Verwende zunächst SSH, Session Manager oder die serielle EC2-Konsole, um eine Verbindung zur Instance herzustellen und sicherzustellen, dass du EC2 Instance Connect installiert hast. Verwende dann EC2 Instance Connect, um eine Verbindung mit der Instance herzustellen.
Wenn bei der Verwendung von EC2 Instance Connect Probleme auftreten, ergreife die folgenden Maßnahmen:
- Stelle sicher, dass du eingehenden SSH-Datenverkehr auf Port 22 für den Namen der Präfixliste com.amazonaws.region.ec2-instance-connect zulassen.
- Stelle sicher, dass die Richtlinie des AWS Identity and Access Management (IAM)-Benutzers die Aktion ec2-instance-connect:sendSSHPublicKey enthält.
Wenn du immer noch Probleme hast, findest du weitere Informationen unter Wie behebe ich Probleme, wenn ich EC2 Connect verwende, um eine Verbindung zu meiner EC2-Instance herzustellen?
Die serielle EC2-Konsole verwenden, um die Verbindung wiederherzustellen
Voraussetzung: Zugriff auf die serielle EC2-Konsole konfigurieren.
Um die serielle EC2-Konsole für die Verbindung zur Instance zu verwenden, kannst du die Amazon EC2-Konsole oder SSH verwenden. Weiter Informationen findest du unter Wie greife ich auf die serielle EC2-Konsole einer Linux-Instance zu, die nicht erreicht oder auf die nicht zugegriffen werden kann?
Nachdem du eine Verbindung hergestellt hast, behebe Fehler bei der Instance hinsichtlich Start-, Netzwerkkonfigurations- oder anderen Problemen.
Wenn bei der Verwendung der seriellen EC2-Konsole Probleme auftreten, stelle sicher, dass die IAM-Richtlinie die Aktion ec2-instance-connect:sendserialconsoleSSHPublicKey enthält.
Nachdem du mithilfe der seriellen EC2-Konsole eine Verbindung zu der Instance hergestellt hast, kannst du GRUB zur Fehlerbehebung verwenden.
Session Manager-Verbindung wiederherstellen
Session Manager verwaltet die Authentifizierung nur über IAM-Rollen und -Berechtigungen statt über SSH-Schlüssel. Bevor du Systems Manager verwendest, stelle sicher, dass du die Voraussetzungen für Session Manager erfüllst. Verwende dann den Session Manager, um eine Verbindung zur Instance herzustellen.
Wenn bei der Verwendung von Session Manager Probleme auftreten, ergreife die folgenden Maßnahmen.
Die IAM-Rollen prüfen
Vergewissere dich, dass die Instance über eine IAM-Rolle verfügt, an die die AmazonSSMManagedInstanceCore-Richtlinie angehängt ist.
Oder stelle sicher, dass die Rolle über die folgenden erforderlichen Berechtigungen verfügt:
- ssmmessages:CreateControlChannel
- ssmmessages:CreateDataChannel
- ssmmessages:OpenControlChannel
- ssmmessages:OpenDataChannel
Du kannst einer vorhandenen Rolle die erforderlichen Session Manager-Berechtigungen hinzufügen.
Hinweis: Wenn du die Standard-Host-Verwaltungskonfiguration zur Verwaltung der Instances verwendest, musst du kein IAM-Instance-Profil erstellen, um Instances zu verwalten.
Wenn du die Berechtigungen aktualisierst, trenne die IAM-Rolle und füge sie erneut hinzu. Warte ein paar Minuten und starte dann den AWS Systems Manager Agent (SSM-Agent) oder starte die Instance.
Problembehandlung beim SSM-Agent-Status
Stelle sicher, dass du SSM-Agent auf der Instance installiert hast.
Verwende SSH, serielle EC2-Konsole oder EC2 Instance Connect, um eine Verbindung zu der Instance herzustellen und führe dann die folgenden Befehle für Systeme aus, die systemd verwenden:
sudo systemctl status amazon-ssm-agent
sudo systemctl start amazon-ssm-agent # if stopped
Führe bei Debian- oder Ubuntu-Systemen den folgenden Befehl aus:
sudo systemctl status snap.amazon-ssm-agent.amazon-ssm-agent.service
sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service # if stopped
Um zu überprüfen, ob der SSM-Agent ausgeführt wird, überprüfe das Systemprotokoll.
Es hat sich bewährt, die neueste Version von SSM-Agent zu verwenden. Um zu überprüfen, ob du die neueste Version hast, besuche amazon-ssm-agent/RELEASENOTES auf der GitHub-Website. Wenn du nicht über die neueste Version verfügst, installiere einen aktualisierten SSM-Agenten, der auf dem Betriebssystem (OS) basiert.
Zur weiteren Problembehandlung überprüfe die Protokolle von /var/log/amazon/ssm/amazon-ssm-agent.log auf Fehler. Oder lies dir Fehlerbehebung bei SSM-Agent durch.
Netzwerkkonnektivität überprüfen
Stelle sicher, dass die Netzwerk-ACLs und Sicherheitsgruppen eine ausgehende Verbindung zum Systems Manager-Endpunkt auf Port 443 zulassen.
Wenn die Instance nicht im Session Manager angezeigt wird, findest du weitere Informationen unter Warum zeigt Systems Manager meine Amazon EC2-Instance nicht als verwaltete Instance an?
Erstelle für private Instances Virtual Private Cloud (VPC)-Endpunkte. Wähle für Servicename com.amazonaws.REGION.ssm und com.amazonaws.region.SSMMessages aus.
Hinweis: Ersetze die Region durch deine AWS-Region.
Die Sicherheitsgruppe, die du an die VPC-Endpunkte anhängst, muss eingehenden Datenverkehr auf Port 443 zulassen.
Weitere Informationen findest du unter Es kann keine Verbindung zu SSM-Endpunkten hergestellt werden.
Auf fehlende Voraussetzungen prüfen
Verwende SSH, serielle EC2-Konsole oder EC2 Instance Connect, um eine Verbindung zur Instance herzustellen und führe dann den folgenden Befehl aus, um die Verfügbarkeit verwalteter Knoten zu beheben:
sudo ssm-cli get-diagnostics --output table
Überprüfe die Ausgabe auf fehlende Voraussetzungen für Session Manager.
Oder führe eines der folgenden Systems Manager-Runbooks aus, um automatisch nach fehlenden Voraussetzungen zu suchen:
- Führe AWSSupport-TroubleshootManagedInstance aus, um die VPC-Konfiguration zu überprüfen, einschließlich Sicherheitsgruppenregeln, VPC-Endpunkten, Netzwerk-ACL-Regeln, Routing-Tabellen und IAM-Profilen.
- Führe den AWSSupport-TroubleShootSessionManager aus, um zu überprüfen, ob du die Voraussetzungen für Session Manager erfüllst.
Protokolle der Instance-Konsole prüfen
Wenn du die oben genannten Methoden nicht verwenden kannst, um eine Verbindung zur Instance herzustellen, führe das folgende Skript Benutzerdatenaus, um die Session Manager-Verbindung wiederherzustellen:
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: - [scripts-user, always] --// Content-Type: text/x-shellscript; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="userdata.txt" #!/bin/bash sudo ssm-cli get-diagnostics --output table >> /dev/console # or sudo ssm-cli get-diagnostics --output table >> /dev/ttyS0
Überprüfe dann die Ausgabe der Instance-Konsole, um den Verbindungsschritt zu identifizieren, der fehlschlägt. Nachdem du den fehlgeschlagenen Schritt behoben hast, verwende den Session Manager, um die Verbindung zu testen.
Wenn du immer noch keine Verbindung herstellen kannst, verwende eine Rettungs-Instance, um Startprobleme zu beheben.
Ähnliche Informationen
Warum kann ich keine Verbindung zu meiner EC2-Instance herstellen?
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 5 Monaten