Direkt zum Inhalt

Warum erhalte ich Fehler, wenn ich die browserbasierte SSH-Konsole verwende, um auf meine Lightsail-Instance zuzugreifen?

Lesedauer: 6 Minute
0

Ich erhalte die Fehlermeldung „UPSTREAM_ERROR [515]“, „UPSTREAM_NOT_FOUND [519]“ oder „CLIENT_UNAUTHORIZED [769]“, wenn ich die browserbasierte SSH-Konsole verwende, um eine Verbindung zu meiner Amazon-Lightsail-Instance herzustellen.

Kurzbeschreibung

Du erhältst eine der folgenden Fehlermeldungen:

  • „Your instance encountered an error and has closed the connection. Try again or contact customer support. UPSTREAM_ERROR [515]“
  • „An error occurred and we were unable to connect or stay connected to your instance. If this instance has just started up, try again in a minute or two. UPSTREAM_NOT_FOUND [519]“
  • „Login failed. If this instance has just started up, try again in a minute or two. CLIENT_UNAUTHORIZED [769]“

Die Fehler „UPSTREAM_ERROR [515]“ und „UPSTREAM_NOT_FOUND [519]“ treten auf, wenn du über die SSH-Konsole keine Verbindung zu deiner Lightsail-Instance herstellen kannst.

Die folgenden Gründe können zu Verbindungsproblemen führen:

  • Ein Instance-Boot ist fehlgeschlagen, eine Statusüberprüfung ist fehlgeschlagen oder CPU- oder Speicherressourcen sind überlastet.
  • Eine Firewall auf Betriebssystemebene blockiert den SSH-Port-Zugriff.
  • Der SSH-Port 22 ist nicht die Standard-Portkonfiguration.
  • Der SSH-Dienst ist ausgefallen.

Du erhältst den Fehler „CLIENT_UNAUTHORIZED [769]“, wenn in der Lightsail-Instance ein SSH-Authentifizierungsproblem auftritt.

Die folgenden Gründe können zu Authentifizierungsproblemen führen:

  • Du hast den Lightsail-Systemschlüssel /etc/ssh/lightsail_instance_ca.pub falsch konfiguriert.
  • Du hast die erforderliche SSH-Konfiguration nicht verwendet, als du die Ubuntu-Instance-Version auf 20.04 oder höher aktualisiert hast.

Lösung

Den Zustand und den Status der Instance überprüfen

Sieh dir die Instance-Metriken an, um nach Fehlern bei der System- oder Instance-Statusüberprüfung zu suchen.

Wenn bei der Systemstatusüberprüfung Fehler auftreten, halte die Instance an und starte sie neu, um sie zu einer funktionsfähigen Hardware zu migrieren.

Warnung: Die öffentliche IP-Adresse der Instance ändert sich jedes Mal, wenn du die Instance anhältst und startest. Wenn du nicht möchtest, dass sich die Adresse ändert, weise eine statische IP-Adresse zu, bevor du die Instance anhältst.

Wenn die Instance-Statusüberprüfung fehlgeschlagen ist, hat möglicherweise ein Problem auf Betriebssystemebene zu Boot-Fehlern geführt. Oder die Ressourcen der Instance sind möglicherweise überlastet. Weitere Informationen findest du unter Wie behebe ich häufig auftretende Probleme, die dazu führen, dass meine Lightsail-Instance nicht reagiert?

Firewall-Probleme lösen

Wenn eine Firewall auf Betriebssystemebene wie iptables oder Uncomplicated Firewall (UFW) den Zugriff blockiert, führe eine der folgenden Maßnahmen aus:

  • Wenn du SSH-Zugriff über ein Terminal oder PuTTY hast, entferne die Zugriffsverweigerungsregeln von der Firewall und der Datei /etc/hosts.deny. Verwende für cPanel-Instances die Web Host Manager (WHM)-Konsole, um Firewallregeln zu entfernen.
  • Wenn du keinen SSH-Zugriff hast, erstelle eine neue Instance und füge ein Startskript hinzu, das die Firewall und die Datei /etc/hosts.deny deaktiviert.

Gehe wie folgt vor, um Firewalls auf Betriebssystemebene mithilfe eines Startskripts zu deaktivieren:

  1. Öffne die Lightsail-Konsole.

  2. Erstelle einen manuellen Snapshot der Instance.

  3. Erstelle eine neue Instance aus dem Snapshot.
    Hinweis: Wähle dieselbe Availability Zone wie die vorherige Instance aus.

  4. Wähle Launch-Script hinzufügen und füge dann das folgende Skript hinzu:

    sudo ufw disable
    sudo iptables -F
    sudo mv /etc/hosts.deny /etc/hosts.deny_backup
    sudo touch /etc/hosts.deny
    sudo systemctl enable sshd
    sudo systemctl restart sshd

    Hinweis: Das vorherige Beispielskript deaktiviert die UFW-Firewall, leert alle Iptables-Ketten oder Firewallregeln und benennt die Datei /etc/hosts.deny um, um sie zu deaktivieren.

  5. Wähle einen neuen Instance-Plan oder verwende denselben Plan wie die vorherige Instance.

  6. Gib einen Namen für die Instance ein und wähle dann Instance erstellen aus.

Warte nach dem Start der neuen Instance 10–15 Minuten und verwende dann die browserbasierte SSH-Konsole, um eine Verbindung zur Instance herzustellen.

Hinweis: Wenn die vorherige Instance eine statische IP-Adresse hatte, weise die statische IP-Adresse der neuen Instance zu. Wähle die Registerkarte Netzwerk auf der Lightsail-Konsole, trenne die statische IP-Adresse und füge sie dann an die neue Instance an.

Probleme mit dem SSH-Dienst lösen

Wenn der SSH-Dienst auf der Instance nicht ausgeführt oder aktiv ist, schlägt die SSH-Verbindung fehl und du erhältst den Fehler „UPSTREAM_NOT_FOUND [519]“. Um dieses Problem zu beheben, konfiguriere Session Manager, eine Funktion von AWS Systems Manager, für deine Lightsail-Instance. Greife dann ohne den SSH-Dienst auf die Instance zu, um das Problem zu lösen.

Gehe wie folgt vor:

  1. Überprüfe eine der folgenden SSH-Authentifizierungsprotokolldateien, um nach Fehlermeldungen oder fehlgeschlagenen Authentifizierungsversuchen zu suchen:
    Ubuntu-Protokolldatei:
    /var/log/auth.log
    Amazon-Linux-Protokolldatei:
    /var/log/secure

  2. Wenn in der Datei eine Fehlermeldung angezeigt wird, führe eine der folgenden Maßnahmen aus:
    Wenn die Meldung „Invalid user“ oder „Failed password“ angezeigt wird, überprüfe deine SSH-Schlüsselkonfiguration in der Datei /etc/ssh/sshd_config.
    Führe bei der Meldung „Connection refused“ den folgenden Befehl aus, um dich zu vergewissern, dass der SSH-Dienst ausgeführt wird:

    sudo systemctl status sshd

    Führe bei der Meldung „Permission denied“ den folgenden Befehl aus, um die Berechtigungen für das SSH-Verzeichnis und die Schlüsseldateien zu überprüfen:

    sudo chmod 700 ~/.ssh
    sudo chmod 600 ~/.ssh/authorized_keys
  3. Wenn es keine Fehlermeldungen gibt, führe den folgenden Befehl aus, um die SSH-Konfiguration zu testen und neu zu starten:

    sudo sshd -t
    sudo systemctl restart sshd

Den Lightsail-Systemschlüssel wiederherstellen

Wenn der Schlüssel /etc**/ssh/lightsail_instance_ca.pub** fehlt, gehe wie folgt vor:

  1. Wenn du SSH-Zugriff über ein Terminal oder PuTTY hast, führe den folgenden Befehl aus, um den ssh-rsa-Schlüssel zu überprüfen:

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. Ergreife eine der folgenden Maßnahmen:
    Wenn der Schlüssel vorhanden ist, führe den folgenden Befehl aus, um ihn wiederherzustellen:

    sudo sh -c "cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa > /etc/ssh/lightsail_instance_ca.pub"
        sudo sh -c "echo >> /etc/ssh/sshd_config"
        sudo sh -c "echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config"
        sudo systemctl restart sshd

    Wenn du keinen ssh-rsa-Schlüssel erhältst oder SSH nicht verwenden kannst, um eine Verbindung zur Instance herzustellen, erstelle einen Snapshot der Instance. Wenn du eine neue Instance vom Snapshot aus startest, wird der Lightsail-Systemschlüssel automatisch zum Server hinzugefügt.

SSH für Ubuntu 20.04 oder höher konfigurieren

Wenn du deine frühere Ubuntu-Instance-Version auf 20.04 aktualisiert hast, musst du den Zertifizierungsstellen (CAs) manuell erlauben, den ssh-rsa-Schlüssel zum Signieren von Zertifikaten zu verwenden. Wenn du eine Instance für die Ausführung von Ubuntu Version 20.04 oder höher erstellt hast, können CAs standardmäßig den ssh-rsa-Algorithmus verwenden.

Gehe wie folgt vor, um die CAs manuell zuzulassen:

  1. Verwende einen SSH-Client, z. B. das Terminal oder die PuTTY-Anwendung, um eine Verbindung zur Instance herzustellen.

  2. Öffne die SSH-Konfigurationsdatei /etc/ssh/sshd_config.

  3. Füge der Datei für die Ubuntu-Instance-Version CA-Parameter hinzu.

    Ubuntu 20.04:
    Führe den folgenden Befehl aus, um die Parameterzeile CASignatureAlgorithms zur Datei sshd_config hinzuzufügen:

    sudo vi /etc/ssh/sshd_config
    cat /etc/ssh/sshd_config | egrep "CASignature"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

    Ubuntu 22.04:
    Führe den folgenden Befehl aus, um die Parameterzeilen CASignatureAlgorithms und PubkeyAcceptedAlgorithms zur Datei sshd_config hinzuzufügen:

    sudo vi /etc/ssh/sshd_config
    cat /etc/ssh/sshd_config | egrep "CASignature|PubkeyAccepted"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa-cert-v01@openssh.com,ssh-rsa
  4. Führe den folgenden Befehl aus, um den Inhalt der sshd-Konfigurationsdatei zu überprüfen:

    sudo sshd -T
  5. Führe den folgenden Befehl aus, um den sshd-Dienst neu zu starten:

    sudo systemctl restart sshd  
    

Ähnliche Informationen

Was ist Amazon Lightsail?

Eine Verbindung zur Lightsail-Instance herstellen und sie verwalten

AWS OFFICIALAktualisiert vor 6 Monaten