Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Warum kann ich keine Verbindung zu meiner Amazon-EC2-Instance herstellen?
Wenn ich versuche, eine Verbindung zu meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance herzustellen, erhalte ich eine Fehlermeldung.
Kurzbeschreibung
Überprüfe zunächst deine EC2-Instance-Konfiguration und stelle sicher, dass die Instance den Instance- und Systemstatus erfüllt.
Wenn du immer noch keine Verbindung herstellen kannst, stelle die Verbindung von SSH, EC2 Instance Connect oder Session Manager, einer Funktion von AWS Systems Manager, wieder her. Oder verwende die serielle EC2-Konsole, um die Verbindung wiederherzustellen.
Hinweis: In der Regel verwendest du die serielle EC2-Konsole nur zur Problembehandlung, nicht zur Ausführung von Standardprozessen.
Wenn eine 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 der AWS CLI verwendest.
Konfiguration des Instance-Zugriffs prüfen
Sicherheitsgruppenregeln überprüfen
Die Regeln für eingehende Sicherheitsgruppen müssen den Zugriff von der IP-Adresse auf Port 22 für Linux und Port 3389 für Windows 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 Port 22 oder 3389 nicht auf der Positivliste stehen, führe den folgenden Befehl authorize-security-group-ingress aus, um die Regeln so zu aktualisieren, dass sie den Zugriff zulassen:
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 du eine Windows-Instance verwendest, ersetze 22 durch 3389. Wenn es sich bei der Quell-IP-Adresse um eine öffentliche IP-Adresse handelt, kannst du das Tool checkip.amazonaws.com 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 oder 3389 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.
Überprüfen der Routing-Tabelle
Stelle sicher, dass die Routing-Tabelle eine Route für die Verbindung enthält.
Sicherstellen, dass die Instance die Statusprüfungen besteht
Um eine Verbindung zu einer Instance herzustellen, muss die Instance ihre Statusprüfungen bestehen. Verwende die Amazon-EC2-Konsole, um zu überprüfen, ob sowohl der Systemstatus als auch der Instance-Status OK anzeigen. 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 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 oder der Systemstatus nicht OK ist, liegt das Problem möglicherweise an der AWS-Infrastruktur. Informationen zur Behebung dieses Problems findest du unter Warum ist meine Amazon-EC2-Instance aufgrund eines Fehlers bei der Systemstatusüberprüfung ausgefallen?
Wenn du immer noch Probleme hast, findest du weitere Informationen unter Wie behebe ich Fehler bei der Statusüberprüfung für meine EC2-Linux-Instance? oder Warum ist meine EC2-Windows-Instance aufgrund eines Fehlers bei der Instance-Statusüberprüfung ausgefallen?
Verbindungsprobleme beheben
Wenn die Instance die Statusprüfungen besteht, du aber Verbindungsfehler erhältst, findest du weitere Informationen in den folgenden Ressourcen:
- Wie löse ich Probleme mit der SSH-Verbindung zu meiner Amazon-EC2 Linux-Instance?
- Wie behebe ich RDP-Verbindungsprobleme mithilfe meiner EC2-Windows-Instance?
- Wie behebe ich Authentifizierungsfehler, wenn ich RDP verwende, um eine Verbindung zu einer EC2-Windows-Instance herzustellen?
- Probleme bei der Verbindung mit der Amazon-EC2-Linux-Instance beheben
- Probleme bei der Verbindung mit der Amazon-EC2-Windows-Instance beheben
SSH-Verbindung wiederherstellen
Hinweis: Wenn du dein SSH-Schlüsselpaar verloren hast, findest du weitere Informationen unter Wie stelle ich eine Verbindung zu meiner Amazon-EC2-Instance her, wenn ich mein SSH-Schlüsselpaar nach dem ersten Instance-Start verliere?
Benutzernamen und 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-Service basierend auf der Verteilung 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-Servicestatus Angehalten lautet, führe den folgenden Befehl aus, um den Service entsprechend der Verteilung 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 über die erforderlichen Leseberechtigungen verfügt.
Die Netzwerkkonnektivität testen
Um die Konnektivität zu Port 22 zu testen, führe einen der folgenden Befehle vom Client aus:
nc -zv Host 22
-oder-
telnet Host 22
Hinweis: Ersetze Host durch die IP-Adresse oder den vollständig qualifizierten Domainnamen (FQDN).
Führe dann den folgenden Befehl aus, um die SSH-Verbindung zur 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, stelle sicher, dass du eingehenden SSH-Datenverkehr auf Port 22 für den Namen der Präfixliste com.amazonaws.region.ec2-instance-connect zulässt. Stelle außerdem 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 Fehler, die ich erhalte, wenn ich EC2 Instance 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. Weitere 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.
Session-Manager-Verbindung wiederherstellen
Session Manager verwaltet die Authentifizierung nur über IAM-Rollen und -Berechtigungen statt über SSH-Schlüssel. Bevor du Session 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 angefügt 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 an. 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, die serielle EC2-Konsole oder EC2 Instance Connect, um eine Verbindung zur Instance herzustellen. Führe dann den folgenden Befehl aus, um den Status des SSM-Agent basierend auf der Verteilung zu überprüfen.
Systeme, die systemd verwenden:
sudo systemctl status amazon-ssm-agent
Debian- oder Ubuntu-Systeme:
sudo systemctl status snap.amazon-ssm-agent.amazon-ssm-agent.service
Wenn der Agent-Status Angehalten lautet, führe den folgenden Befehl aus, um ihn zu starten, je nach deiner Verteilung.
Systeme, die systemd verwenden:
sudo systemctl start amazon-ssm-agent
Debian- oder Ubuntu-Systeme:
sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
Um zu überprüfen, ob SSM-Agent ausgeführt wird, überprüfe das Systemprotokoll.
Es hat sich bewährt, die neueste Version von SSM-Agent zu verwenden. Informationen zur Feststellung, ob du die neueste Version hast, findest du unter amazon-ssm-agent/RELEASENOTES auf der GitHub-Website. Wenn du nicht über die neueste Version verfügst, installiere einen aktualisierten SSM-Agent, der auf dem Betriebssystem basiert.
Überprüfe zur weiteren Problembehandlung die Protokolle von /var/log/amazon/ssm/amazon-ssm-agent.log auf Fehler. Oder lies dir Problembehandlung bei SSM-Agent durch.
Netzwerkkonnektivität überprüfen
Stelle sicher, dass die Netzwerk-ACLs und Sicherheitsgruppen eine ausgehende Verbindung zum AWS-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 REGION durch deine AWS-Region.
Die Sicherheitsgruppe, die du an die VPC-Endpunkte anfügst, 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, die serielle EC2-Konsole oder EC2 Instance Connect, um eine Verbindung zur Instance herzustellen und führe dann den folgenden Befehl aus, um Probleme mit der 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 ein Systems-Manager-Runbook 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 user data aus, 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 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
- Sprache
- Deutsch
Ähnliche Videos

