Ich erhalte Fehler, wenn ich versuche, über SSH eine Verbindung zu meiner EC2-Instance herzustellen. Wie kann ich den AWSSupport-TroubleshootSSH-Automatisierungs-Workflow verwenden, um SSH-Verbindungsprobleme zu beheben?

Lesedauer: 4 Minute
0

Wenn ich mich über SSH bei meiner Amazon-Elastic-Compute-Cloud-(Amazon EC2)-Instance anmelde und ausführliche Meldungen aktiviert habe, erhalte ich Fehler wie „Erlaubnis verweigert“ oder „Verbindung verweigert“. Wie kann ich das AWSSupport-TroubleshootSSH-Automatisierungsdokument verwenden, um SSH-Verbindungsprobleme zu beheben?

Kurzbeschreibung

AWSSupport-TroubleshootSSH installiert das Amazon-EC2Rescue-Tool. Anschließend werden einige Probleme überprüft und behoben, die zu Remote-Verbindungsfehlern führen, wenn über SSH eine Verbindung zu einem Linux-Computer hergestellt wird. Führen Sie die AWSSupport-TroubleshootSSH-Automatisierung aus, um Probleme automatisch nach Subnetz, S3-Buckets oder IAM-Rolle zu reparieren.

Systemanforderungen für die Verwendung von EC2Rescue für Linux

EC2Rescue für Linux erfordert eine Amazon-EC2-Linux-Instance, die die folgenden Voraussetzungen erfüllt:

Unterstützte Betriebssysteme

  • Amazon Linux 2
  • Amazon Linux 2016.09+
  • SLES 12+
  • RHEL 7+
  • Ubuntu 16.04+

Software-Voraussetzungen

  • Python 2.7.9+ oder 3.2+

Hinweis: Weitere Informationen zu ausführlichen Meldungen oder zur Behebung anderer Arten von Fehlermeldungen finden Sie unter Warum kann ich mit SSH keine Verbindung zu meiner Amazon-EC2-Linux-Instance herstellen?

Lösung

Bevor Sie anfangen:

  • Kopieren Sie die Instance-ID der Amazon EC2-Instance, für die Sie Probleme beheben möchten. Sie benötigen die Instance-ID, um das Automatisierungsdokument auszuführen.
  • (Optional) Kopieren Sie die ID eines Subnetzes in derselben Availability Zone wie Ihre nicht erreichbare Amazon-EC2-Instance. Die EC2Rescue-Instance wird in diesem Subnetz installiert. Wenn Sie kein Subnetz angeben, erstellt das Automatisierungsdokument eine neue temporäre VPC in Ihrem AWS-Konto. Stellen Sie sicher, dass Ihr AWS-Konto über mindestens eine verfügbare VPC verfügt. Standardmäßig können Sie fünf VPCs in einer Region erstellen. Wenn Sie bereits fünf VPCs in der Region erstellt haben, schlägt die Automatisierung fehl, ohne dass Ihre Amazon-EC2-Instance geändert wird. Weitere Informationen finden Sie unter VPC und Subnetze.
  • (Optional) Erstellen und spezifizieren Sie eine AWS-Identity-and-Access-Management-(IAM)-Rolle für die Automatisierung. Wenn Sie diese Rolle nicht angeben, verwendet AWS Systems Manager Automation die Berechtigungen des Benutzers, der dieses Dokument ausführt. Weitere Informationen zum Erstellen von Rollen für die Automatisierung finden Sie unter Verwenden von IAM, um Rollen für die Automatisierung zu konfigurieren.

Führen Sie die AWSSupport-TroubleshootSSH-Automatisierung über die AWS-Systems-Manager-Konsole aus.

  1. Öffnen Sie die AWS-Systems-Manager-Konsole.
  2. Wählen Sie im Navigationsbereich Automatisierung aus.
    Hinweis: Wenn die AWS-Systems-Manager-Homepage zuerst geöffnet wird, wählen Sie das Menüsymbol zum Öffnen des Navigationsbereichs und anschließend Automatisierung aus.
  3. Wählen Sie Automatisierung ausführen aus.
  4. Geben Sie AWSSupport-TroubleshootSSH in das Suchfeld ein und drücken Sie dann die Eingabetaste.
  5. Wählen Sie in den Suchergebnissen AWSSupport-TroubleshootSSH aus.
  6. Wählen Sie in der Dokumentenliste AWSSupport-TroubleshootSSH aus. Der Besitzer des Dokuments ist Amazon.
  7. Stellen Sie im Abschnitt Beschreibung sicher, dass die Dokumentversion auf Standardversion bei Laufzeit gesetzt ist.
  8. Wählen Sie Weiter aus.
  9. Wählen Sie im Bereich Automatisierungsdokument ausführen die Option Einfache Ausführung aus.
  10. Geben Sie im Abschnitt Eingabeparameter die folgenden Parameter ein:
    Geben Sie für InstanceID die ID der nicht erreichbaren Instance an. Wählen Sie unter Aktion die Option FixAll aus.
    Wählen Sie für AllowOffline die Option True aus.
    Hinweis: Wenn dieser Parameter auf False gesetzt ist und die Instance nicht von Systems Manager verwaltet wird, schlägt die Automatisierung fehl.
    (Optional) Geben Sie für SubnetId ein Subnetz in einer vorhandenen VPC in derselben Availability Zone an wie die von Ihnen angegebene Amazon-EC2-Instance. Standardmäßig erstellt Systems Manager eine neue VPC, Sie können jedoch ein Subnetz in einer vorhandenen VPC angeben.
    (Optional) Geben Sie für S3BucketName den Namen eines Buckets ein, für den Sie über Schreibberechtigungen verfügen. Die Fehlerbehebungsprotokolle werden in diesen Bucket hochgeladen, sofern diese angegeben wurde.
    (Optional) Geben Sie für AutomationAssumeRole die IAM-Rolle für diese Ausführung an. Wenn keine Rolle angegeben ist, verwendet AWS Systems Manager Automation die Berechtigungen des Benutzers, der dieses Dokument ausführt.
  11. Wählen Sie Ausführen aus.
  12. Um den Fortschritt der Ausführung zu überwachen, wählen Sie die laufende Automatisierung und dann die Registerkarte Schritte aus. Wenn die Ausführung abgeschlossen ist, wählen Sie die Registerkarte Beschreibungen und dann Ausgabe anzeigen aus, um die Ergebnisse anzuzeigen. Um die Ausgabe einzelner Schritte anzuzeigen, wählen Sie die Registerkarte Schritte und im Anschluss neben einem Schritt die Option Ausgaben anzeigen aus.

Die AWSSupport-TroubleshootSSH-Automatisierung über die AWS Command Line Interface (AWS CLI) ausführen

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootSSH" --document-version "\$DEFAULT" --parameters '{"InstanceId":["i-0a241ed9caf16f01e"],"Action":["FixAll"],"AllowOffline":["True"],"SubnetId":["SelectedInstanceSubnet"]}' --region us-east-1

Weitere Informationen zur AWSSupport-TroubleshootSSH-Automatisierung finden Sie unter Intelligente RDP- und SSH-Fehlerbehebung mit API-Aktionen der AWS Systems Manager Automation.