Wie behebe ich Probleme beim Zugriff auf meine EC2-Instanz über eine SSH-Verbindung durch einen Bastion-Host?

Lesedauer: 5 Minute
0

Ich habe Probleme, eine Verbindung zu meiner Amazon Elastic Compute Cloud (Amazon EC2) Instanz mit einer SSH-Verbindung über einen Bastion-Host herzustellen. Wie kann ich dieses Problem beheben?

Kurzbeschreibung

Gehen Sie wie folgt vor, um Probleme beim Herstellen einer Verbindung zu einer EC2-Instance über SSH mithilfe eines Bastion-Hosts zu beheben:

  1. Richten Sie die SSH-Agent-Weiterleitung ein, um sich von Ihrem lokalen Computer aus beim Bastion-Host anzumelden.
  2. Stellen Sie vom Bastion-Host aus eine Verbindung zu Ihrer EC2-Instance her, wobei ausführliche Nachrichten aktiviert sind.
  3. Verwenden Sie die Ausgabemeldungen des SSH-Clients, um Probleme zu identifizieren und zu beheben. Beginnen Sie mit der Fehlerbehebung bei der Verbindung von Ihrem lokalen Computer zum Bastion-Host. Beheben Sie dann Probleme mit der Verbindung vom Bastion-Host zur EC2-Instance.

Auflösung

Richten Sie die SSH-Agent-Weiterleitung ein, um sich von Ihrem lokalen Computer aus beim Bastion-Host anzumelden

  1. Fügen Sie einen oder mehrere private Schlüssel Ihrer EC2-Instanz und Ihres Bastion-Hosts zu ssh-agent auf Ihrem lokalen Rechner hinzu. Ersetzen Sie im folgenden Beispielbefehl ** ** private-key.pem durch den Namen Ihres privaten Schlüssels.
$ ssh-add private-key.pem
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Schlüssel für ssh-agent verfügbar sind:
$ ssh-add -L
  1. Führen Sie den folgenden Befehl aus, um mit der ** Option ** -A eine Verbindung zum Bastion-Host herzustellen, wobei ausführliche Nachrichten aktiviert sind. Ersetzen Sie im folgenden Beispielbefehl ** ec2-user ** durch Ihren Benutzernamen. Ersetzen Sie ** 192.0.2.0 ** durch die entsprechende öffentliche IP-Adresse für Ihren Bastion-Host. Sie können auch den öffentlichen DNS-Eintrag anstelle der öffentlichen IP-Adresse verwenden.
$ ssh -v –A ec2-user@192.0.2.0

**Wichtig:**Die ** Option ** -A aktiviert die Weiterleitung von SSH-Agenten. Die Agentenweiterleitung sollte nur zur Fehlerbehebung verwendet werden. Durch die Weiterleitung kann der lokale SSH-Agent auf die Public-Key-Herausforderung reagieren, auch wenn Sie eine Verbindung von Ihrem Bastion-Host zu Ihrer EC2-Instance herstellen. Wenn Sie die Agentenweiterleitung einrichten, wird eine Socket-Datei auf dem Bastion-Host erstellt. Die Socket-Datei fungiert als Mechanismus, der den Schlüssel an Ihre EC2-Instance weiterleitet. Ein anderer Benutzer auf dem Bastion-Host mit der Fähigkeit, Dateien zu ändern, könnte diesen Schlüssel verwenden, um sich als Sie zu authentifizieren. Wenn Sie regelmäßig über einen Bastion-Host eine Verbindung zu Ihrer Instance herstellen (außerhalb der Fehlerbehebung), verwenden Sie ProxyCommand oder eine ähnliche Methode.

Stellen Sie vom Bastion-Host aus eine Verbindung zu Ihrer EC2-Instance her, wobei ausführliche Nachrichten aktiviert sind

Nachdem Sie eine Verbindung zum Bastion-Host hergestellt haben, führen Sie den folgenden Befehl aus, um mithilfe von SSH mit eingestellter ausführlicher Nachrichtenübermittlung eine Verbindung zu Ihrer EC2-Instance herzustellen. Ersetzen Sie im folgenden Beispielbefehl ** ec2-user ** durch Ihren Use-rnamen. Ersetzen Sie ** 192.0.2.0 ** durch die entsprechende öffentliche IP-Adresse für Ihren Bastion-Host. Sie können auch den öffentlichen DNS-Eintrag anstelle der öffentlichen IP-Adresse verwenden.

$ ssh -v ec2-user@192.0.2.0

**Hinweis:**Sie müssen in den beiden vorherigen Befehlen nicht explizit einen Schlüssel angeben. Der ssh-agent probiert nacheinander alle Schlüssel aus, die in den Agenten geladen wurden, bis einer erfolgreich ist. Instanzen beenden die Verbindung nach fünf fehlgeschlagenen Verbindungsversuchen. Stellen Sie daher sicher, dass der Agent über fünf oder weniger Schlüssel verfügt. Jeder Administrator sollte über einen Schlüssel verfügen, sodass dies bei den meisten Bereitstellungen selten ein Problem darstellt. Einzelheiten zur Verwaltung der Schlüssel in ssh-agent erhalten Sie mit dem Befehl ** man ssh-agent. **.

Beheben Sie Probleme mit der Verbindung von Ihrem lokalen Computer zum Bastion-Host

Wenn Sie Probleme haben, von Ihrem lokalen Computer aus eine Verbindung zum Bastion-Host herzustellen, gehen Sie wie folgt vor:

  • Stellen Sie sicher, dass Sie den privaten Schlüssel des Bastion-Hosts dem SSH-Agenten auf Ihrem lokalen Computer korrekt hinzugefügt haben. Dieses Verfahren wird in Schritt 1 gezeigt.
  • Stellen Sie sicher, dass ** ssh-add -L fünf oder weniger Schlüssel ** zurückgibt.
  • Wenn Sie immer noch keine Verbindung zum Bastion-Host herstellen können, verwenden Sie die von den ausführlichen Nachrichten des SSH-Clients abgerufenen Ausgabemeldungen, um die Fehlermeldung zu identifizieren. Lesen Sie anhand der eingegangenen Fehlermeldung Schritt 2 unter "Wie behebe ich Probleme beim Herstellen einer Verbindung zu meiner Amazon EC2 Linux-Instance mithilfe von SSH? "um das Problem zu beheben.

Beheben Sie Probleme mit der Verbindung vom Bastion-Host zu Ihrer EC2-Instance

Wenn Sie Probleme haben, vom Bastion-Host aus eine Verbindung zu Ihrer EC2-Instance herzustellen, gehen Sie wie folgt vor:

  • Stellen Sie sicher, dass Sie den privaten Schlüssel Ihrer EC2-Instance korrekt zum SSH-Agenten auf Ihrem lokalen Computer hinzugefügt haben. Möglicherweise müssen Sie dies überprüfen, wenn sich der Schlüssel vom privaten Schlüssel Ihres Bastion-Hosts unterscheidet.
  • Stellen Sie sicher, dass ** ssh-add -L fünf oder weniger Schlüssel ** zurückgibt.
  • Wenn Sie immer noch keine Verbindung zum Bastion-Host herstellen können, verwenden Sie die von den ausführlichen Nachrichten des SSH-Clients abgerufenen Ausgabemeldungen, um die Fehlermeldung zu identifizieren. Lesen Sie anhand der eingegangenen Fehlermeldung Schritt 2 unter "Wie behebe ich Probleme beim Herstellen einer Verbindung zu meiner Amazon EC2 Linux-Instance mithilfe von SSH? "um das Problem zu beheben.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren