Beheben von Problemen mit der Verbindung Ihrer Instance - Amazon Elastic Compute Cloud

Beheben von Problemen mit der Verbindung Ihrer Instance

Die folgenden Informationen und häufigen Fehler können Ihnen bei der Fehlersuche für die Verbindung zu Ihrer Linux-Instance helfen.

Informationen zur Fehlerbehebung bei der Verbindung mit Windows-Instances finden Sie unter Fehlerbehebung bei Windows-Instances im Amazon-EC2-Benutzerhandbuch für Windows-Instances.

Häufige Ursachen für Verbindungsprobleme

Wir empfehlen, dass Sie mit der Behebung von Instance-Verbindungsproblemen beginnen, indem Sie sicherstellen, dass Sie die folgenden Aufgaben korrekt ausgeführt haben.

Überprüfen des Benutzernamens für Ihre Instance

Sie können mit dem Benutzernamen für Ihr Benutzerkonto oder dem Standardbenutzernamen für das AMI, das Sie zum Starten Ihrer Instance verwendet haben, eine Verbindung zu Ihrer Instance herstellen.

  • Abrufen des Benutzernamens für Ihr Benutzerkonto ab.

    Weitere Informationen zum Erstellen eines Benutzerkontos finden Sie unter Verwalten von Benutzern auf Ihrer Linux-Instance.

  • Abrufen des Standardbenutzernamens für das AMI, das Sie zum Starten der Instance verwendet haben:

    Zum Starten der Instance verwendetes AMI Standardbenutzername

    Amazon Linux 2023

    Amazon Linux 2

    Amazon Linux

    ec2-user
    CentOS centos oder ec2-user
    Debian admin
    Fedora fedora oder ec2-user
    RHEL ec2-user oder root
    SUSE ec2-user oder root
    Ubuntu ubuntu
    Oracle ec2-user
    Bitnami bitnami
    Sonstige Wenden Sie sich an den AMI-Anbieter
Überprüfen Sie, ob Ihre Sicherheitsgruppenregeln Datenverkehr zulassen.

Stellen Sie sicher, dass die mit Ihrer Instance verknüpfte Sicherheitsgruppe eingehenden SSH-Datenverkehr von Ihrer IP-Adresse zulässt. Die standardmäßige Sicherheitsgruppe für die VPC lässt keinen eingehenden SSH-Datenverkehr zu. Die über den Start-Instance-Assistenten erstellte Sicherheitsgruppe lässt eingehenden SSH-Datenverkehr standardmäßig zu. Schritte zum Hinzufügen einer Regel für eingehenden SSH-Datenverkehr zu Ihrer Linux-Instance finden Sie unter Autorisieren von eingehendem Datenverkehr für Linux-Instances. Schritte zur Überprüfung finden Sie unter Fehler beim Herstellen der Verbindung mit Ihrer Instance: „Connection timed out“.

Stellen Sie sicher, dass Ihre Instance bereit ist.

Wenn Sie die Instance starten, kann es einige Minuten dauern, bis die Instance zur Verbindung bereitsteht. Überprüfen Sie Ihre Instance, um sicherzustellen, dass sie ausgeführt wird und ihre Statusüberprüfungen bestanden hat.

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Überprüfen Sie Folgendes:

    1. Stellen Sie in der Spalte Instance state (Instance-Status) sicher, dass sich Ihre Instance im running-Status befindet.

    2. Überprüfen Sie in der Spalte Status check (Statusprüfung), ob Ihre Instance die beiden Statusprüfungen bestanden hat.

Sicherstellen, dass alle Voraussetzungen zum Herstellen einer Verbindung erfüllt sind

Stellen Sie sicher, dass Sie über alle Informationen verfügen, die Sie für die Verbindung benötigen. Weitere Informationen finden Sie unter Herstellen einer Verbindung zur Linux-Instance.

Spezifische Voraussetzungen für Verbindungstypen wie SSH, EC2 Instance Connect, OpenSSH, PuTTY und mehr finden Sie in den folgenden Optionen.

Linux oder macOS X

Wenn es sich bei Ihrem lokalen Computer-Betriebssystem um Linux oder macOS X handelt, überprüfen Sie die spezifischen Voraussetzungen für die folgenden Verbindungsoptionen:

Windows

Wenn es sich bei Ihrem lokalen Computer-Betriebssystem um Windows handelt, überprüfen Sie die spezifischen Voraussetzungen für die folgenden Verbindungsoptionen:

Fehler beim Herstellen der Verbindung mit Ihrer Instance: „Connection timed out“

Wenn Sie versuchen, eine Verbindung zu Ihrer Instance herzustellen, und die Fehlermeldung Network error: Connection timed out oder Error connecting to [instance], reason: -> Connection timed out: connect erhalten, versuchen Sie Folgendes:

Prüfen Sie Ihre Sicherheitsgruppenregeln.

Sie benötigen eine Sicherheitsgruppenregel, die den eingehenden Datenverkehr von Ihrer öffentlichen IPv4-Adresse Ihres lokalen Computers auf dem entsprechenden Port zulässt.

New console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Überprüfen Sie auf der Registerkarte Security (Sicherheit) am unteren Rand der Konsolenseite unter Inbound rules (Eingangsregeln), die Liste der Regeln, die für die ausgewählte Instance gültig sind.

    • Für Linux-Instances: Überprüfen Sie, dass eine Regel vorhanden ist, die den Datenverkehr von Ihrem lokalen Computer auf Port 22 (SSH) zulässt.

    • Für Windows-Instances: Überprüfen Sie, dass eine Regel vorhanden ist, die den Datenverkehr von Ihrem lokalen Computer auf Port 3389 (RDP) zulässt.

    Wenn Ihre Sicherheitsgruppe keine Regel enthält, die eingehenden Datenverkehr von Ihrem lokalen Computer zulässt, fügen Sie eine Regel zu Ihrer Sicherheitsgruppe hinzu. Weitere Informationen finden Sie unter Autorisieren von eingehendem Datenverkehr für Linux-Instances.

  4. Die Regel, die eingehenden Datenverkehr zulässt, finden Sie im Feld Quelle. Wenn der Wert eine einzelne IP-Adresse ist und die IP-Adresse nicht statisch ist, wird bei jedem Neustart des Computers eine neue IP-Adresse zugewiesen. Dies führt dazu, dass die Regel den IP-Adressverkehr Ihres Computers nicht berücksichtigt. Die IP-Adresse darf nicht statisch sein, wenn sich Ihr Computer in einem Unternehmensnetzwerk befindet oder Sie eine Verbindung über einen Internetdienstanbieter (ISP) herstellen oder Ihre Computer-IP-Adresse dynamisch ist und sich bei jedem Neustart des Computers ändert. Um sicherzustellen, dass Ihre Sicherheitsgruppenregel eingehenden Datenverkehr von Ihrem lokalen Computer zulässt, geben Sie den IP-Adressbereich an, der von Client-Computern verwendet wird, anstatt eine einzelne IP-Adresse für Quelle anzugeben.

    Weitere Informationen zu den Regeln der Sicherheitsgruppe finden Sie unter Sicherheitsgruppenregeln im Amazon VPC-Benutzerhandbuch.

Old console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Wählen Sie auf der Registerkarte Description (Beschreibung) am unteren Rand der Konsolenseite neben Security groups (Sicherheitsgruppen) die Option view inbound rules (Eingangsregeln anzeigen) aus, um die Liste der Regeln anzuzeigen, die für die ausgewählte Instance gültig sind.

    • Für Linux-Instances: Wenn Sie view inbound rules (Eingangsregeln anzeigen) auswählen, erscheint ein Fenster, das den/die Port(s) anzeigt, auf denen der Datenverkehr erlaubt ist. Überprüfen Sie, dass eine Regel vorhanden ist, die den Datenverkehr von Ihrem Computer auf Port 22 (SSH) zulässt.

    • Für Windows-Instances: Wenn Sie view inbound rules (Eingangsregeln anzeigen) auswählen, erscheint ein Fenster, das den/die Port(s) anzeigt, auf denen der Datenverkehr erlaubt ist. Überprüfen Sie, dass eine Regel vorhanden ist, die den Datenverkehr von Ihrem Computer auf Port 3389 (RDP) zulässt.

    Wenn Ihre Sicherheitsgruppe keine Regel enthält, die eingehenden Datenverkehr zulässt, fügen Sie eine Regel zu Ihrer Sicherheitsgruppe hinzu. Weitere Informationen finden Sie unter Autorisieren von eingehendem Datenverkehr für Linux-Instances.

  4. Bei jedem Neustart Ihres lokalen Computers wird eine neue IP-Adresse (und ein neuer Hostname) zugeordnet. Wenn Ihre Sicherheitsgruppe über eine Regel verfügt, die eingehenden Datenverkehr von einer einzelnen IP-Adresse zulässt, darf diese Adresse nicht statisch sein, wenn sich Ihr Computer in einem Unternehmensnetzwerk befindet oder Sie eine Verbindung über einen Internetdienstanbieter (ISP) herstellen. Geben Sie stattdessen den Bereich der IP-Adressen an, die von Client-Computern verwendet werden.

    Weitere Informationen zu den Regeln der Sicherheitsgruppe finden Sie unter Sicherheitsgruppenregeln im Amazon VPC-Benutzerhandbuch.

Überprüfen Sie die Routing-Tabelle für das Subnetz.

Sie benötigen eine Route, die den gesamten Datenverkehr außerhalb der VPC an das Internet-Gateway für die VPC sendet.

New console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Notieren Sie sich auf der Registerkarte Networking (Netzwerk) die Werte für VPC ID (VPC-ID) und Subnet ID (Subnetz-ID).

  4. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  5. Wählen Sie im Navigationsbereich Internet Gateways aus. Überprüfen Sie, ob Ihrer VPC ein Internet-Gateway angefügt ist. Andernfalls wählen Sie Create internet gateway (Internet-Gateway erstellen), geben Sie einen Namen für das Internet-Gateway ein und wählen Sie Create internet gateway (Internet-Gateway erstellen). Wählen Sie dann für das von Ihnen erstellte Internet-Gateway Actions (Aktionen), Attach to VPC (An VPC anhängen), wählen Sie Ihre VPC aus und wählen Sie dann Attach internet gateway (Internet-Gateway anhängen), um es an Ihre VPC anzuhängen.

  6. Wählen Sie im Navigationsbereich die Option Subnets und dann Ihr Subnetz aus.

  7. Überprüfen Sie, ob auf der Registerkarte Route Table (Routing-Tabelle) eine Route mit 0.0.0.0/0 unter "Destination" und das Internet-Gateway für Ihre VPC unter "Target" vorhanden ist. Wenn Sie eine Verbindung mit Ihrer Instance mithilfe der IPv6-Adresse herstellen, überprüfen Sie, dass eine Route für den gesamten IPv6-Datenverkehr (::/0) vorhanden ist, die zum Internet-Gateway führt. Andernfalls gehen Sie wie folgt vor:

    1. Wählen Sie die ID der Routing-Tabelle (rtb-xxxxxxxx) aus, um zur Routing-Tabelle zu gelangen.

    2. Klicken Sie auf der Registerkarte Routes (Routen) auf Edit routes (Routen bearbeiten). Wählen Sie Add route (Route hinzufügen) aus, verwenden Sie 0.0.0.0/0 als Ziel und das Internet-Gateway als Ziel. Wählen Sie für IPv6 Add route (Route hinzufügen) aus, verwenden Sie ::/0 als Ziel und das Internet-Gateway als Ziel.

    3. Wählen Sie Save Rules (Routen speichern) aus.

Old console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Notieren Sie auf der Registerkarte Description die Werte VPC ID und Subnet ID.

  4. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  5. Wählen Sie im Navigationsbereich Internet Gateways aus. Überprüfen Sie, ob Ihrer VPC ein Internet-Gateway angefügt ist. Falls nicht, wählen Sie Create Internet Gateway, um ein Internet-Gateway zu erstellen. Wählen Sie das Internet-Gateway aus, klicken Sie auf die Option Attach to VPC, und folgen Sie den Anleitungen, um das Gateway Ihrer VPC anzufügen.

  6. Wählen Sie im Navigationsbereich die Option Subnets und dann Ihr Subnetz aus.

  7. Überprüfen Sie, ob auf der Registerkarte Route Table eine Route mit 0.0.0.0/0 unter "Destination" und das Internet-Gateway für Ihre VPC unter „Target“ vorhanden ist. Wenn Sie eine Verbindung mit Ihrer Instance mithilfe der IPv6-Adresse herstellen, überprüfen Sie, dass eine Route für den gesamten IPv6-Datenverkehr (::/0) vorhanden ist, die zum Internet-Gateway führt. Andernfalls gehen Sie wie folgt vor:

    1. Wählen Sie die ID der Routing-Tabelle (rtb-xxxxxxxx) aus, um zur Routing-Tabelle zu gelangen.

    2. Klicken Sie auf der Registerkarte Routes (Routen) auf Edit routes (Routen bearbeiten). Wählen Sie Add route (Route hinzufügen) aus, verwenden Sie 0.0.0.0/0 als Ziel und das Internet-Gateway als Ziel. Wählen Sie für IPv6 Add route (Route hinzufügen) aus, verwenden Sie ::/0 als Ziel und das Internet-Gateway als Ziel.

    3. Wählen Sie Save Rules (Routen speichern) aus.

Überprüfen Sie die Access Control List (ACL) für das Subnetz.

Die Netzwerk-ACLs müssen ein- und ausgehenden Datenverkehr von Ihrer lokalen IP-Adresse auf Port 22 (für Linux-Instances) bzw. Port 3389 (für Windows-Instances) zulassen. Sie müssen auch ausgehenden Datenverkehr zu den kurzlebigen Ports (1024-65535) zulassen.

  1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsbereich Subnets (Subnetze) aus.

  3. Subnetz auswählen

  4. Stellen Sie auf der Registerkarte Netzwerk-ACL für Eingehende Regeln sicher, dass die Regeln eingehenden Datenverkehr von Ihrem Computer auf dem erforderlichen Port zulassen. Andernfalls löschen oder ändern Sie die Regel, die den Datenverkehr blockiert.

  5. Überprüfen Sie für ausgehende Regeln, ob die Regeln ausgehenden Datenverkehr zu Ihrem Computer über die kurzlebigen Ports zulassen. Andernfalls löschen oder ändern Sie die Regel, die den Datenverkehr blockiert.

Wenn sich Ihr Computer in einem Unternehmensnetzwerk befindet

Fragen Sie Ihren Netzwerkadministrator, ob die interne Firewall ein- und ausgehenden Datenverkehr von Ihrem Computer auf Port 22 (für Linux-Instances) bzw. Port 3389 (für Windows-Instances) zulässt.

Wenn auf Ihrem Computer eine Firewall aktiviert ist, überprüfen Sie, dass diese den ein- und ausgehenden Datenverkehr von Ihrem Computer auf Port 22 (für Linux-Instances) bzw. Port 3389 (für Windows-Instances) zulässt.

Prüfen Sie, ob Ihre Instance über eine öffentliche IPv4-Adresse verfügt.

Falls nicht, verknüpfen Sie eine Elastic IP-Adresse mit der Instance. Weitere Informationen finden Sie unter Elastic IP-Adressen.

Überprüfen Sie die CPU-Auslastung auf Ihrer Instance. Möglicherweise ist der Server überlastet.

AWS stellt automatisch Daten wie Amazon-CloudWatch-Metriken und Instance-Status bereit. Anhand dieser Daten können Sie feststellen, wie hoch die CPU-Auslastung auf Ihrer Instance ist, und die Verarbeitung Ihrer Lasten nach Bedarf ändern. Weitere Informationen finden Sie unter Überwachen Ihrer Instances mit CloudWatch.

  • Wenn Ihre Last variabel ist, können Sie Ihre Instances automatisch mit Auto Scaling und Elastic Load Balancing nach oben und unten skalieren.

  • Wenn Ihre Last kontinuierlich zunimmt, können Sie auf einen größeren Instance-Typ umsteigen. Weitere Informationen finden Sie unter Ändern des Instance-Typs.

Um eine Verbindung mit Ihrer Instance mit einer IPv6-Adresse herzustellen, prüfen Sie Folgendes:

  • Ihr Subnetz muss einer Routing-Tabelle zugeordnet sein, die über eine Route für IPv6-Datenverkehr (::/0) zu einem Internet-Gateway verfügt.

  • Ihre Sicherheitsgruppenregeln müssen den eingehenden Datenverkehr von Ihrer lokalen IPv6-Adresse auf dem entsprechenden Port zulassen (22 für Linux und 3389 für Windows).

  • Ihre Netzwerk-ACL-Regeln müssen ein- und ausgehenden IPv6-Datenverkehr zulassen.

  • Wenn Sie Ihre Instance aus einem älteren AMI gestartet haben, ist sie möglicherweise nicht für DHCPv6 konfiguriert (IPv6-Adressen werden nicht automatisch von der Netzwerkschnittstelle erkannt). Weitere Informationen finden Sie unter Konfigurieren von IPv6 auf Ihren Instances im Benutzerhandbuch von Amazon VPC.

  • Ihr lokaler Computer muss über eine IPv6-Adresse verfügen und zur Verwendung von IPv6 konfiguriert sein.

Fehler: Schlüssel kann nicht geladen werden ... Erwartend: JEDER PRIVATE SCHLÜSSEL

Wenn Sie versuchen, eine Verbindung mit Ihrer Instance herzustellen und die Fehlermeldung unable to load key ... Expecting: ANY PRIVATE KEY erhalten, ist die Datei, in der der private Schlüssel gespeichert ist, nicht korrekt konfiguriert. Auch wenn die Datei mit dem privaten Schlüssel auf .pem endet, ist sie möglicherweise dennoch falsch konfiguriert. Eine mögliche Ursache für eine falsch konfigurierte Datei für den privaten Schlüssel ist ein fehlendes Zertifikat.

Wenn die Datei für den privaten Schlüssel falsch konfiguriert ist, führen Sie die folgenden Schritte aus, um den Fehler zu beheben.
  1. Erstellen Sie ein neues Schlüsselpaar. Weitere Informationen finden Sie unter Erstellen eines Schlüsselpaars mit Amazon EC2.

    Anmerkung

    Alternativ können Sie auch mit einem Drittanbietertool ein neues Schlüsselpaar erstellen. Weitere Informationen finden Sie unter Erstellen Sie ein Schlüsselpaar mit einem Drittanbieter-Tool und importieren Sie den öffentlichen Schlüssel in Amazon EC2.

  2. Fügen Sie das neue Schlüsselpaar Ihrer Instance hinzu. Weitere Informationen finden Sie unter Ich habe meinen privaten Schlüssel verloren. Wie kann ich mich mit meiner Linux-Instance verbinden?.

  3. Stellen Sie mittels des neuen Schlüsselpaars eine Verbindung mit Ihrer Instance her.

Fehler: Benutzerschlüssel wird vom Server nicht erkannt

Bei Verwendung von SSH zum Verbinden mit Ihrer Instance
  • Verwenden Sie ssh -vvv, um beim Herstellen der Verbindung ausführliche Debugging-Informationen zu erhalten:

    ssh -vvv -i path/key-pair-name.pem instance-user-name@ec2-203-0-113-25.compute-1.amazonaws.com

    Die folgende Beispielausgabe veranschaulicht, was Sie sehen, wenn Sie versuchen, eine Verbindung mit Ihrer Instance mithilfe eines Schlüssels herzustellen, der vom Server nicht erkannt wird:

    open/ANT/myusername/.ssh/known_hosts). debug2: bits set: 504/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: boguspem.pem ((nil)) debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: boguspem.pem debug1: read PEM private key done: type RSA debug3: sign_and_send_pubkey: RSA 9c:4c:bc:0c:d0:5c:c7:92:6c:8e:9b:16:e4:43:d8:b2 debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey).
Bei Verwendung von PuTTY zum Verbinden mit Ihrer Instance
  • Überprüfen Sie, dass Ihre private Schlüsseldatei (PEM) in das Format konvertiert wurde, das von PuTTY (PPK) erkannt wird. Weitere Informationen zum Konvertieren Ihres privaten Schlüssels finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance über Windows mit PuTTY.

    Anmerkung

    Laden Sie Ihren privaten Schlüssel in PuTTYgen und wählen Sie Save Private Key (Privaten Schlüssel speichern) statt Generate (Generieren) aus.

  • Überprüfen Sie, dass Sie eine Verbindung mit dem entsprechenden Benutzernamen für Ihr AMI herstellen. Geben Sie den Benutzernamen im Feld Host name (Hostname) des Fensters PuTTY Configuration (PuTTY-Konfiguration) ein.

    Zum Starten der Instance verwendetes AMI Standardbenutzername

    Amazon Linux 2023

    Amazon Linux 2

    Amazon Linux

    ec2-user
    CentOS centos oder ec2-user
    Debian admin
    Fedora fedora oder ec2-user
    RHEL ec2-user oder root
    SUSE ec2-user oder root
    Ubuntu ubuntu
    Oracle ec2-user
    Bitnami bitnami
    Sonstige Wenden Sie sich an den AMI-Anbieter
  • Überprüfen Sie, dass eine eingehende Sicherheitsgruppenregel vorhanden ist, um den eingehenden Datenverkehr am entsprechenden Port zuzulassen. Weitere Informationen finden Sie unter Authorizing Network Access to Your Instances.

Fehler: Berechtigung verweigert oder Verbindung durch [instance] Port 22 geschlossen

Wenn Sie beim Herstellen einer Verbindung mit Ihrer Instance über SSH den Fehler Host key not found in [directory], Permission denied (publickey), Authentication failed, permission denied oder Connection closed by [instance] port 22 erhalten, stellen Sie sicher, dass Sie die Verbindung mit dem entsprechenden Benutzernamen für Ihr AMI herstellen und dass Sie den richtigen privaten Schlüssel (.pem)-Datei) für Ihre Instance angegeben haben.

Die entsprechenden Benutzernamen lauten wie folgt:

Zum Starten der Instance verwendetes AMI Standardbenutzername

Amazon Linux 2023

Amazon Linux 2

Amazon Linux

ec2-user
CentOS centos oder ec2-user
Debian admin
Fedora fedora oder ec2-user
RHEL ec2-user oder root
SUSE ec2-user oder root
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Sonstige Wenden Sie sich an den AMI-Anbieter

Um beispielsweise einen SSH-Client für die Verbindung mit einer Amazon Linux-Instance zu verwenden, verwenden Sie den folgenden Befehl:

ssh -i /path/key-pair-name.pem instance-user-name@ec2-203-0-113-25.compute-1.amazonaws.com

Vergewissern Sie sich, dass Sie den privaten Schlüssel verwenden, der dem Schlüsselpaar entspricht, das Sie beim Starten der Instance angegeben haben.

New console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Überprüfen Sie auf der Registerkarte Details unter Instance details (Instance-Details) den Wert des Key pair name (Schlüsselpaarnamens).

  4. Wenn Sie beim Starten der Instance kein Schlüsselpaar angegeben haben, können Sie die Instance beenden und eine neue unter Angabe eines Schlüsselpaars starten. Wenn Sie diese Instance zwar verwendet haben, aber die .pem-Datei für Ihr Schlüsselpaar nicht mehr vorliegt, können Sie das Schlüsselpaar durch ein neues ersetzen. Weitere Informationen finden Sie unter Ich habe meinen privaten Schlüssel verloren. Wie kann ich mich mit meiner Linux-Instance verbinden?.

Old console
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie anschließend Ihre Instance aus.

  3. Überprüfen Sie auf der Registerkarte Description den Wert für Key pair name.

  4. Wenn Sie beim Starten der Instance kein Schlüsselpaar angegeben haben, können Sie die Instance beenden und eine neue unter Angabe eines Schlüsselpaars starten. Wenn Sie diese Instance zwar verwendet haben, aber die .pem-Datei für Ihr Schlüsselpaar nicht mehr vorliegt, können Sie das Schlüsselpaar durch ein neues ersetzen. Weitere Informationen finden Sie unter Ich habe meinen privaten Schlüssel verloren. Wie kann ich mich mit meiner Linux-Instance verbinden?.

Wenn Sie ein eigenes Schlüsselpaar generiert haben, stellen Sie sicher, dass Ihr Schlüsselgenerator für das Erstellen von RSA-Schlüssel eingerichtet ist. DSA-Schlüssel werden nicht akzeptiert.

Wenn Sie einen Permission denied (publickey)-Fehler erhalten und keiner der oben angegebenen Fälle zutrifft (z. B. wenn Sie zuvor eine Verbindung herstellen konnten), wurden die Berechtigungen für das Stammverzeichnis Ihrer Instance möglicherweise geändert. Berechtigungen für /home/instance-user-name/.ssh/authorized_keys müssen auf den Eigentümer beschränkt sein.

So überprüfen Sie die Berechtigungen für Ihre Instance
  1. Beenden Sie Ihre Instance und trennen Sie das Stamm-Volume von der Instance. Weitere Informationen finden Sie unter Anhalten und Starten Ihrer Instance und Trennen eines Amazon EBS-Volumes von einer Linux-Instance.

  2. Starten Sie eine temporäre Instance in derselben Availability Zone wie Ihre aktuelle Instance (verwenden Sie ein ähnliches oder dasselbe AMI wie für die aktuelle Instance) und fügen Sie der temporären Instance das Stamm-Volume an. Weitere Informationen finden Sie unter Zuordnen eines Amazon EBS-Volumes zu einer Instance.

  3. Stellen Sie eine Verbindung mit der temporären Instance her, erstellen Sie einen Mountingpunkt und mounten Sie das angefügte Volume. Weitere Informationen finden Sie unter Bereitstellen eines Amazon EBS-Volumes zur Verwendung in Linux.

  4. Überprüfen Sie über die temporäre Instance die Berechtigungen des Verzeichnisses /home/instance-user-name/ des angefügten Volumes. Passen Sie die Berechtigungen bei Bedarf wie folgt an:

    [ec2-user ~]$ chmod 600 mount_point/home/instance-user-name/.ssh/authorized_keys
    [ec2-user ~]$ chmod 700 mount_point/home/instance-user-name/.ssh
    [ec2-user ~]$ chmod 700 mount_point/home/instance-user-name
  5. Heben Sie die Bereitstellung des Volumes auf, trennen Sie es von der temporären Instance und fügen Sie es der ursprünglichen Instance wieder an. Stellen Sie sicher, dass Sie den richtigen Gerätenamen für das Stamm-Volume verwenden; z. B, /dev/xvda.

  6. Starten Sie Ihre Instance. Sie können die temporäre Instance beenden, wenn Sie sie nicht mehr benötigen.

Fehler: Ungeschützte private Schlüsseldatei

Ihre private Schlüsseldatei muss vor Lese- und Schreibvorgängen anderer Benutzer geschützt sein. Wenn Ihr privater Schlüssel nur von anderen, aber nicht von Ihnen gelesen oder geschrieben werden kann, ignoriert SSH Ihren Schlüssel und Sie erhalten die folgende Warnmeldung.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for '.ssh/my_private_key.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: .ssh/my_private_key.pem Permission denied (publickey).

Wenn Sie beim Anmelden bei Ihrer Instance eine ähnliche Meldung erhalten, sehen Sie sich die erste Zeile der Fehlermeldung an, um zu überprüfen, ob Sie den richtigen öffentlichen Schlüssel für Ihre Instance verwenden. Das obige Beispiel verwendet den privaten Schlüssel .ssh/my_private_key.pem mit Dateiberechtigungen 0777, die zulassen, das jeder Benutzer diese Datei lesen oder beschreiben kann. Da diese Berechtigungsebene sehr unsicher ist, wird dieser Schlüssel von SSH ignoriert.

Wenn Sie eine Verbindung über macOS oder Linux herstellen, führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben, und ersetzen Sie dabei den Pfad durch Ihre private Schlüsseldatei.

[ec2-user ~]$ chmod 0400 .ssh/my_private_key.pem

Wenn Sie die Verbindung unter Windows herstellen möchten, führen Sie die folgenden Schritte auf dem lokalen Computer aus.

  1. Navigieren Sie zu Ihrer PEM-Datei.

  2. Klicken Sie mit der rechten Maustaste auf die PEM-Datei und wählen Sie Eigenschaften aus.

  3. Wählen Sie die Registerkarte Sicherheit aus.

  4. Klicken Sie auf Erweitert.

  5. Stellen Sie sicher, dass Sie der Besitzer der Datei sind. Wenn nicht, ändern Sie den Besitzer in Ihren Benutzernamen.

  6. Wählen Sie Vererbung deaktivieren und Alle vererbten Berechtigungen aus diesem Objekt entfernen aus.

  7. Wählen Sie Hinzufügen und Prinzipal auswählen aus, geben Sie Ihren Benutzernamen ein und klicken Sie auf OK.

  8. Erteilen Sie im Fenster Berechtigungseintrag die Berechtigungen zum Lesen und klicken Sie auf OK.

  9. Klicken auf Apply (Anwenden), damit alle Einstellungen gespeichert werden.

  10. Klicken Sie auf OK, um das Fenster Erweiterte Sicherheitseinstellungen zu schließen.

  11. Klicken Sie auf OK, um das Fenster Eigenschaften zu schließen.

  12. Sie sollten in der Lage sein, per SSH eine Verbindung aus Windows mit Ihrer Linux-Instance herzustellen.

Führen Sie in einer Windows-Eingabeaufforderung die folgenden Befehle aus:

  1. Navigieren Sie von der Eingabeaufforderung zum Dateipfad Ihrer PEM-Datei.

  2. Führen Sie den folgenden Befehl aus, um explizite Berechtigungen zurückzusetzen und zu entfernen:

    icacls.exe $path /reset
  3. Führen Sie den folgenden Befehl aus, um dem aktuellen Benutzer Leseberechtigungen zu erteilen:

    icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
  4. Führen Sie den folgenden Befehl aus, um die Vererbung zu deaktivieren und geerbte Berechtigungen zu entfernen.

    icacls.exe $path /inheritance:r
  5. Sie sollten in der Lage sein, per SSH eine Verbindung aus Windows mit Ihrer Linux-Instance herzustellen.

Fehler: Der private Schlüssel muss mit „-----BEGIN RSA PRIVATE KEY-----“ und mit „-----END RSA PRIVATE KEY-----“ enden

Wenn Sie ein Tools von Drittanbietern, wie ssh-keygen, zum Erstellen eines RSA-Schlüsselpaars verwenden, generiert es den privaten Schlüssel im Format für OpenSSH-Schlüssel. Wenn Sie eine Verbindung zu Ihrer Instance herstellen und den privaten Schlüssel im OpenSSH-Format verwenden, um das Passwort zu entschlüsseln, erhalten Sie folgenden Fehler: Private key must begin with "-----BEGIN RSA PRIVATE KEY-----" and end with "-----END RSA PRIVATE KEY-----".

Der private Schlüssel muss im PEM-Format vorliegen, damit dieser Fehler nicht auftritt. Verwenden Sie folgenden Befehl, um den privaten Schlüssel im PEM-Format zu erstellen:

ssh-keygen -m PEM

Fehler: Der Server lehnte unseren Schlüssel ab oder es sind keine unterstützten Authentifizierungsmethoden verfügbar.

Wenn Sie die Verbindung mit Ihrer Instance über PuTTY herstellen und einen der folgenden Fehler, Error: Server refused our key (Fehler: Server hat unseren Schlüssel abgelehnt) oder Error: No supported authentification methods available (Fehler: Keine unterstützten Authentifizierungsservices verfügbar), erhalten, überprüfen Sie, ob Sie die Verbindung mit dem korrekten Benutzernamen für Ihr AMI herstellen. Geben Sie den Benutzernamen im Feld User name (Benutzername) des Fensters PuTTY Configuration (PuTTY-Konfiguration) ein.

Die entsprechenden Benutzernamen lauten wie folgt:

Zum Starten der Instance verwendetes AMI Standardbenutzername

Amazon Linux 2023

Amazon Linux 2

Amazon Linux

ec2-user
CentOS centos oder ec2-user
Debian admin
Fedora fedora oder ec2-user
RHEL ec2-user oder root
SUSE ec2-user oder root
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Sonstige Wenden Sie sich an den AMI-Anbieter

Sie sollten auch Folgendes überprüfen:

Die Instance ist nicht per Ping erreichbar.

Der ping-Befehl ist eine Art ICMP—Datenverkehr. Wenn Sie Ihre Instance per Ping nicht erreichen können, stellen Sie sicher, dass Ihre eingehenden Sicherheitsgruppenregeln ICMP-Datenverkehr für die Echo Request-Meldung von allen Quellen oder vom Computer bzw. von der Instance zulassen, auf dem bzw. der Sie den Befehl ausgeben.

Wenn Sie keinen ping-Befehl auf Ihrer Instance ausgeben können, stellen Sie sicher, dass Ihre ausgehenden Sicherheitsgruppenregeln ICMP-Datenverkehr für die Echo Request-Meldung an alle Ziele oder an den Host, den Sie per Ping zu erreichen versuchen, zulassen.

Ping-Befehle können aufgrund von Netzwerklatenz oder Hardwareproblemen auch von einer Firewall blockiert werden oder es kann zu einer Zeitüberschreitung kommen. Wenden Sie sich an Ihren lokalen Netzwerk- oder Systemadministrator, um Hilfe bei der weiteren Fehlerbehebung zu erhalten.

Fehler: Der Server hat die Netzwerkverbindung unerwartet geschlossen

Wenn Sie mit Ihrer Instance mit PuTTY verbunden sind und den Fehler "Server unexpectedly closed network connection (Der Server hat die Netzwerkverbindung unerwartet geschlossen)" erhalten, vergewissern Sie sich, dass Sie Keepalives auf der Verbindungsseite der PuTTY-Konfiguration aktiviert haben, um eine Trennung der Verbindung zu vermeiden. Einige Server trennen die Verbindung von Clients, wenn sie innerhalb des angegebenen Zeitraums keine Daten empfangen. Legen Sie als Anzahl der Sekunden zwischen Keepalives 59 Sekunden fest.

Wenn nach dem Aktivieren von Keepalives weiterhin Probleme auftreten, versuchen Sie, den Nagle-Algorithmus auf der Verbindungsseite der PuTTY-Konfiguration zu deaktivieren.

Fehler: Hostschlüssel-Validierung fehlgeschlagen für EC2 Instance Connect

Wenn Sie Ihre Instance-Hostschlüssel rotieren, werden die neuen Hostschlüssel nicht automatisch in die Datenbank mit vertrauenswürdigen Hostschlüsseln von AWS hochgeladen. Dies führt dazu, dass die Hostschlüssel-Validierung fehlschlägt, wenn Sie versuchen, eine Verbindung zu Ihrer Instance über den browserbasierten Client EC2 Instance Connect herzustellen, und Sie keine Verbindung mit Ihrer Instance herstellen können.

Um den Fehler zu beheben, müssen Sie das eic_harvest_hostkeys-Skript auf Ihrer Instance ausführen, das Ihren neuen Hostschlüssel in EC2 Instance Connect hochlädt. Das Skript befindet sich bei /opt/aws/bin/ auf Amazon Linux 2-Instances und bei /usr/share/ec2-instance-connect/ auf Ubuntu-Instances.

Amazon Linux 2
Beheben des Fehlers der Hostschlüssel-Validierung auf einer Amazon Linux 2-Instance
  1. Stellen Sie per SSH eine Verbindung mit Ihrer Instance her.

    Sie können eine Verbindung herstellen, indem Sie die EC2 Instance Connect-CLI verwenden oder das SSH-Schlüsselpaar verwenden, das beim Start Ihrer Instance dieser zugewiesen wurde, und den Standardbenutzernamen des AMI, mit dem Sie Ihre Instance gestartet haben. Bei Amazon Linux 2 ist der Standardbenutzername ec2-user.

    Beispiel: Wenn Ihre Instance mit Amazon Linux 2 gestartet wurde und der öffentliche DNS-Name Ihrer Instance ist ec2-a-b-c-d.us-west-2.compute.amazonaws.com und das Schlüsselpaar my_ec2_private_key.pem, nutzen Sie den folgenden Befehl, um eine SSH-Sitzung auf Ihrer Instance zu starten:

    $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Weitere Informationen zum Herstellen einer Verbindung mit Ihrer Instance finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance von Linux oder macOS aus mithilfe von SSH.

  2. Navigieren Sie zum folgenden Ordner.

    [ec2-user ~]$ cd /opt/aws/bin/
  3. Führen Sie den folgenden Befehl auf Ihrer Instance aus.


    [ec2-user ~]$ ./eic_harvest_hostkeys

    Beachten Sie, dass ein erfolgreicher Anruf zu keiner Ausgabe führt.

    Sie können jetzt den browserbasierten Clienten EC2 Instance Connect benutzen, um mit Ihrer Instance eine Verbindung herzustellen

Ubuntu
Beheben des Fehlers der Hostschlüssel-Validierung auf einer Ubuntu-Instance
  1. Stellen Sie per SSH eine Verbindung mit Ihrer Instance her.

    Sie können eine Verbindung herstellen, indem Sie die EC2 Instance Connect-CLI verwenden oder das SSH-Schlüsselpaar verwenden, das beim Start Ihrer Instance dieser zugewiesen wurde, und den Standardbenutzernamen des AMI, mit dem Sie Ihre Instance gestartet haben. Für Ubuntu lautet der Standardbenutzername ubuntu.

    Beispiel: Wenn Ihre Instance mit Ubuntu gestartet wurde und der öffentliche DNS-Name Ihrer Instance ist ec2-a-b-c-d.us-west-2.compute.amazonaws.com und das Schlüsselpaar my_ec2_private_key.pem, nutzen Sie den folgenden Befehl, um eine SSH-Sitzung auf Ihrer Instance zu starten:

    $ ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Weitere Informationen zum Herstellen einer Verbindung mit Ihrer Instance finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance von Linux oder macOS aus mithilfe von SSH.

  2. Navigieren Sie zum folgenden Ordner.

    [ec2-user ~]$ cd /usr/share/ec2-instance-connect/
  3. Führen Sie den folgenden Befehl auf Ihrer Instance aus.


    [ec2-user ~]$ ./eic_harvest_hostkeys

    Beachten Sie, dass ein erfolgreicher Anruf zu keiner Ausgabe führt.

    Sie können jetzt den browserbasierten Clienten EC2 Instance Connect benutzen, um mit Ihrer Instance eine Verbindung herzustellen

Mit EC2 Instance Connect kann keine Verbindung zur Ubuntu-Instance hergestellt werden

Wenn Sie EC2 Instance Connect verwenden, um eine Verbindung zu Ihrer Ubuntu-Instance herzustellen und beim Verbindungsversuch eine Fehlermeldung angezeigt wird, können Sie die folgenden Informationen verwenden, um das Problem zu beheben.

Mögliche Ursache

Das ec2-instance-connect-Paket auf der Instance ist nicht die neueste Version.

Lösung

Aktualisieren Sie das ec2-instance-connect-Paket auf der Instance wie folgt auf die neueste Version:

  1. Stellen Sie eine Verbindung mit einer anderen Methode als EC2 Instance Connect mit Ihrer Instance her.

  2. Führen Sie den folgenden Befehl auf Ihrer Instance aus, um das ec2-instance-connect-Paket auf die neueste Version zu aktualisieren.

    apt update && apt upgrade

Ich habe meinen privaten Schlüssel verloren. Wie kann ich mich mit meiner Linux-Instance verbinden?

Falls Sie den privaten Schlüssel für eine per EBS abgesicherte Instance verlieren, können Sie den Zugriff auf Ihre Instance zurückerlangen. Sie müssen die Instance anhalten, das Stamm-Volume trennen, es einer anderen Instance als Daten-Volume anfügen, die Datei authorized_keys mit einem neuen öffentlichen Schlüssel modifizieren, das Volume zurück zur ursprünglichen Instance verschieben und die Instance neu starten. Weitere Informationen zum Starten, Herstellen von Verbindungen und Anhalten von Instances finden Sie im Abschnitt Instance-Lebenszyklus.

Dieses Verfahren wird nur für Instance mit EBS-Stamm-Volumes unterstützt. Wenn es sich beim Stammgerät um ein Instance-Speicher-Volume handelt, können Sie dieses Verfahren nicht verwenden, um den Zugriff auf Ihre Instance wiederherzustellen. Sie benötigen den privaten Schlüssel, um eine Verbindung mit der Instance herzustellen. Zur Feststellung des Root-Gerätetyps Ihrer Instance öffnen Sie die Amazon-EC2-Konsole, wählen Sie Instances, wählen Sie die Instance aus, wählen Sie die Registerkarte Speicher und überprüfen Sie im Abschnitt Root-Gerätedetails den Wert des Root-Gerätetyps.

Der Wert ist entweder EBS oder INSTANCE-STORE.

Wenn Sie Ihren privaten Schlüssel verlieren, gibt es weitere Möglichkeiten, eine Verbindung mit Ihrer Linux-Instance herzustellen. Weitere Informationen finden Sie unter Wie kann ich eine Verbindung zu meiner Amazon EC2 Instance herstellen, wenn ich mein SSH-Schlüsselpaar nach dem ersten Start verloren habe?

Schritt 1: Erstellen eines neuen Schlüsselpaars

Erstellen Sie ein neues Schlüsselpaar mit der Amazon EC2-Konsole oder einem Tool eines Drittanbieters. Falls der Name des neuen Schlüsselpaares dem des verlorenen privaten Schlüssels genau entsprechen soll, müssen Sie das vorhandene Schlüsselpaar erst löschen. Weitere Informationen zum Erstellen eines neuen Schlüsselpaars finden Sie unter Erstellen eines Schlüsselpaars mit Amazon EC2 oder Erstellen Sie ein Schlüsselpaar mit einem Drittanbieter-Tool und importieren Sie den öffentlichen Schlüssel in Amazon EC2.

Schritt 2: Abrufen von Informationen über die ursprüngliche Instance und ihr Stamm-Volume

Notieren Sie sich die folgenden Informationen, da Sie sie benötigen werden, um dieses Verfahren abzuschließen.

So erhalten Sie Informationen zu Ihrer ursprünglichen Instance
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances und dann die Instance aus, zu der Sie eine Verbindung herstellen möchten. (Wir bezeichnen diese als ursprüngliche Instance.)

  3. Notieren Sie sich auf der Registerkarte Details die Instance-ID und die AMI-ID.

  4. Notieren Sie sich auf der Registerkarte Network (Netzwerk) die Availability Zone.

  5. Notieren Sie sich auf der Registerkarte Storage (Speicher) den Gerätenamen für das Root-Volume unter Root device name (Root-Gerätename) (z. B. /dev/xvda). Suchen Sie diesen Gerätenamen unter Block devices (Geräte blockieren) und notieren Sie sich die Volume-ID (z. B. vol-0a1234b5678c910de).

Schritt 3: Anhalten der ursprünglichen Instance

Wählen Sie Instance state (Instance-Status), Stop instance (Instance anhalten). Wenn diese Option deaktiviert ist, wurde die Instance entweder bereits angehalten oder das Root-Gerät ist ein Instance-Speicher-Volume.

Warnung

Wenn Sie eine Instance anhalten, werden sämtliche Daten auf allen Instance-Speicher-Volumes gelöscht. Wenn Sie Daten von Instance-Speicher-Volumes behalten möchten, sichern Sie diese auf einem persistenten Speicher.

Schritt 4: Starten einer temporären Instance

New console
So starten Sie eine temporäre Instance
  1. Wählen Sie im Navigationsbereich Instances und Launch instances (Instances starten) aus.

  2. Im Abschnitt Name and tags (Name und Tags) geben Sie beiName Temporary (Temporär) ein.

  3. Im Abschnitt Application and OS Images (Anwendungs- und Betriebssystem-Images) wählen Sie dasselbe AMI aus, das Sie beim Start der ursprünglichen Instance verwendet haben. Falls diese AMI nicht verfügbar ist, können Sie eine AMI erstellen, die Sie von der angehaltenen Instance verwenden können. Weitere Informationen finden Sie unter Erstellen eines Amazon EBS-gestützten Linux-AMI .

  4. Behalten Sie im Abschnitt Instance type (Instance-Typ) den standardmäßigen Instance-Typ bei.

  5. Im Abschnitt Key pair (Schlüsselpaar) unter Key pair name (Schlüsselpaarname) wählen Sie das vorhandene Schlüsselpaar aus, das Sie verwenden oder erstellen Sie ein neues.

  6. Im Abschnitt Network settings (Netzwerkeinstellungen) wählen Sie Edit (Bearbeiten), aus. Wählen Sie dann unter Subnet (Subnetz) ein Subnetz in derselben Availability Zone wie die ursprüngliche Instance aus.

  7. Wählen Sie im Bereich Summary (Übersicht) Launch (Starten) aus.

Old console

Wählen Sie Launch Instances (Instances starten), und verwenden Sie dann den Start-Assistenten, um eine temporäre Instance mit den folgenden Optionen zu starten:

  • Wählen Sie auf der Seite Choose an AMI (AMI wählen) dieselbe AMI aus, die Sie beim Start der ursprünglichen Instance verwendet haben. Falls diese AMI nicht verfügbar ist, können Sie eine AMI erstellen, die Sie von der angehaltenen Instance verwenden können. Weitere Informationen finden Sie unter Erstellen eines Amazon EBS-gestützten Linux-AMI.

  • Lassen Sie auf der Seite Choose an Instance Type (Instance-Typ wählen) den Standard-Instance-Typ, den der Assistent für Sie auswählt, unverändert.

  • Geben Sie auf der Seite Configure Instance Details (Instance-Details konfigurieren) dieselbe Availability Zone wie für die ursprüngliche Instance an. Falls Sie eine Instance in einem VPC starten, wählen Sie ein Subnetz in dieser Availability Zone.

  • Fügen Sie auf der Seite Add Tags (Tags (Markierungen) hinzufügen) das Tags (Markierungen) Name=Temporary zur Instance hinzu, um anzugeben, dass es sich um eine temporäre Instance handelt.

  • Klicken Sie auf der Seite Review auf Launch. Wählen Sie das Schlüsselpaar aus, das Sie in Schritt 1 erstellt haben, und wählen Sie dann Launch Instances (Instances starten) aus.

Schritt 5: Trennen des Stamm-Volumes von der ursprünglichen Instance und Anfügen an die temporäre Instance

  1. Wählen Sie im Navigationsbereich Volumes und wählen Sie das Root-Geräte-Volume für die ursprüngliche Instance aus (Sie haben die Volume-ID in einem früheren Schritt notiert). Wählen Sie Actions (Aktionen) und danach Detach volume (Volume trennen) aus, gefolgt von Detach (Trennen). Warten Sie, bis der Status des Volumes available wird. (Sie müssen möglicherweise das Symbol Refresh (Aktualisieren) wählen.)

  2. Wählen Sie bei ausgewähltem Volume Actions (Aktionen) und wählen Sie dann Attach Volume (Volume anfügen) aus. Wählen Sie die Instance-ID der vorübergehenden Instance aus, notieren Sie den Gerätenamen unter Device name (Gerätenamen) (zum Beispiel /dev/sdf) und wählen Sie dann Attach volume (Volume anhängen) aus.

    Anmerkung

    Falls Sie Ihre ursprüngliche Instance über eine AWS Marketplace-AMI gestartet haben und Ihr Volume AWS Marketplace-Codes enthält, müssen Sie zuerst die temporäre Instance anhalten, bevor Sie das Volume anfügen können.

Schritt 6: Hinzufügen des neuen öffentlichen Schlüssels zu authorized_keys auf dem ursprünglichen Volume, das auf der temporären Instance gemountet wird

  1. Stellen Sie eine Verbindung mit der temporären Instance her.

  2. Mounten Sie in der temporären Instance das Volume, das Sie an die Instance angefügt haben, damit Sie auf ihr Dateisystem zugreifen können. Beispiel: Falls der Gerätename /dev/sdf lautet, verwenden Sie die folgenden Befehle zum Mounten des Volume als /mnt/tempvol.

    Anmerkung

    Der Gerätename wird auf Ihrer Instance möglicherweise anders angezeigt. Beispiel: Geräte, die als /dev/sdf gemountet wurden, werden auf der Instance möglicherweise als /dev/xvdf angezeigt. Einige Versionen von Red Hat (oder Varianten wie CentOS) können den letzten Buchstaben möglicherweise noch um 4 Zeichen erhöhen, wobei /dev/sdf zu /dev/xvdk wird.

    1. Verwenden Sie den Befehl lsblk, um zu ermitteln, ob das Volume partitioniert ist.

      [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 101G 0 disk └─xvdf1 202:81 0 101G 0 part xvdg 202:96 0 30G 0 disk

      Im Beispiel oben sind /dev/xvda und /dev/xvdf partitionierte Volumes und /dev/xvdg nicht. Falls Ihr Volume partitioniert ist, mounten Sie die Partition (/dev/xvdf1) anstelle des Rohdatenträgers (/dev/xvdf) in den nächsten Schritten.

    2. Erstellen Sie ein temporäres Verzeichnis zum Mounten des Volumes.

      [ec2-user ~]$ sudo mkdir /mnt/tempvol
    3. Mounten Sie das Volume (oder die Partitionierung) am temporären Mount-Punkt mithilfe des Volume-Namens oder des Gerätenamens, den Sie vorher in Erfahrung gebracht haben. Der erforderliche Befehl hängt vom Dateisystem Ihres Betriebssystems ab. Beachten Sie, dass der Gerätename auf Ihrer Instance möglicherweise anders angezeigt wird. Weitere Informationen finden Sie in note in Schritt 6.

      • Amazon Linux, Ubuntu und Debian

        [ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
      • Amazon Linux 2, CentOS, SUSE Linux 12 und RHEL 7.x

        [ec2-user ~]$ sudo mount -o nouuid /dev/xvdf1 /mnt/tempvol
    Anmerkung

    Wenn Sie einen Fehler erhalten, der besagt, dass das Dateisystem beschädigt ist, führen Sie den folgenden Befehl aus, um mit dem Dienstprogramm fsck das Dateisystem zu prüfen und mögliche Probleme zu beheben:

    [ec2-user ~]$ sudo fsck /dev/xvdf1
  3. Verwenden Sie in der temporären Instance den folgenden Befehl, um authorized_keys mit dem neuen öffentlichen Schlüssel über authorized_keys für die temporäre Instance am gemounteten Volume zu aktualisieren.

    Wichtig

    Die folgenden Beispiele verwenden den Amazon Linux-Benutzernamen ec2-user. Sie können ihn durch einen anderen Benutzernamen ersetzen, wie etwa ubuntu für Ubuntu-Instances.

    [ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    Falls diese Kopie erfolgreich verlief, können Sie mit dem nächsten Schritt fortfahren.

    (Optional) Falls Sie keine Berechtigung zum Bearbeiten von Dateien in /mnt/tempvol besitzen, müssen Sie die Datei mithilfe von sudo aktualisieren und dann die Berechtigungen für die Datei überprüfen, um zu gewährleisten, dass Sie sich an der ursprünglichen Instance anmelden können. Führen Sie den folgenden Befehl aus, um die Berechtigungen für die Datei zu prüfen.

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh total 4 -rw------- 1 222 500 398 Sep 13 22:54 authorized_keys

    In dieser Beispielausgabe lautet die Benutzer-ID 222 und die Gruppen-ID 500. Verwenden Sie als Nächstes sudo, um den fehlgeschlagenen Kopierbefehl erneut auszuführen.

    [ec2-user ~]$ sudo cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    Führen Sie den folgenden Befehl noch einmal aus, um zu ermitteln, ob sich die Berechtigungen geändert haben.

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh

    Falls sich die Benutzer-ID und die Gruppen-ID geändert haben, verwenden Sie den folgenden Befehl, um sie wiederherzustellen.

    [ec2-user ~]$ sudo chown 222:500 /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

Schritt 7: Aufheben der Bereitstellung und Trennen des ursprünglichen Volumes von der temporären Instance und erneutes Anfügen an die ursprüngliche Instance

  1. Entfernen Sie in der temporären Instance das Volume, das Sie angefügt haben, damit Sie es wieder an der ursprünglichen Instance anhängen können. Verwenden Sie beispielsweise den folgenden Befehl, um die Bereitstellung des Volumes unter aufzuhebe /mnt/tempvol.

    [ec2-user ~]$ sudo umount /mnt/tempvol
  2. Trennen Sie das Volume von der temporären Instance (Sie haben das Mounting der Bereitstellung im vorherigen Schritt aufgehoben): Wählen Sie in der Amazon EC2-Konsole im NavigationsbereichVolumes wählen sie das Stamm-Gerät-Volume für die ursprüngliche Instance (Sie haben die Volume-ID in einem vorherigen Schritt notiert) wählen Sie Actions (Aktionen), Detach volume (Volumen trennen) und dann Detach (Trennen) aus. Warten Sie, bis der Status des Volumes available wird. (Sie müssen möglicherweise das Symbol Refresh (Aktualisieren) wählen.)

  3. Erneutes Anfügen des Volume an die ursprüngliche Instance: Wählen Sie bei weiter ausgewähltem Volume Actions (Aktionen) die Option Attach Volume (Volume anfügen) aus. Wählen Sie die Instance-ID der ursprünglichen Instance aus, geben Sie den Gerätenamen an, den Sie zuvor in Schritt 2 für die ursprüngliche Stammgeräte-Anlage (/dev/sda1 oder /dev/xvda) notiert haben, und wählen Sie dann Attach volume (Volume anhängen) aus.

    Wichtig

    Falls Sie nicht denselben Gerätenamen als ursprünglichen Anhang angeben, können Sie die ursprüngliche Instance nicht starten. Amazon EC2 erwartet den Root-Gerät-Datenträger unter sda1 oder /dev/xvda.

Schritt 8: Verbinden Sie sich mit der ursprünglichen Instance mit dem neuen Schlüsselpaar

Wählen Sie die ursprüngliche Instance und dann Instance state (Instance-Status), Start instance (Instance starten). Wenn die Instance den Status running erhält, können Sie mit der Datei mit dem privaten Schlüssel für Ihr neues Schlüsselpaar eine Verbindung zu ihr herstellen.

Anmerkung

Falls sich der Name Ihres neuen Schlüsselpaars und der entsprechenden Datei mit dem privaten Schlüssel vom Namen des ursprünglichen Schlüsselpaars unterscheidet, müssen Sie den Namen der Datei mit dem neuen privaten Schlüssel angeben, wenn Sie eine Verbindung mit Ihrer Instance herstellen.

Schritt 9: Bereinigen

(Optional) Sie können die temporäre Instance beenden, falls Sie keine weitere Verwendung mehr dafür haben. Wählen Sie die temporäre Instance und dann Instance state (Instance-Status), Terminate instance (Instance beenden) aus.