Fehlerbehebung der SSH-Verbindung

Wenn Sie keine SSH-Verbindung zu einer Compute-Instanz herstellen können, prüfen Sie die folgenden Fehlermeldungen und Vorschläge zur Fehlerbehebung, um das Problem zu beheben.

Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, beachten Sie für ein geführtes Tutorial Folgendes:
Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, wird empfohlen, zuerst ein virtuelles Cloud-Netzwerk (VCN) zu erstellen. Sie können den Workflow "VCN-Assistenten starten" verwenden und die Option "VCN mit Internetverbindung erstellen" auswählen. Der Workflow erstellt ein VCN, das automatisch sowohl ein öffentliches als auch ein privates Subnetz sowie alle erforderlichen Gateways und Routingregeln konfiguriert. Darüber hinaus bietet der Workflow eine Option zur Konfiguration von IPv6. Einzelheiten zum Ausführen des Workflows finden Sie unter Virtuelles Networking - Schnellstart.

SSH-Fehler: Verbindung zu Host w.x.y.z Port 22: Timeout bei Vorgang

Der Fehler bedeutet, dass SSH mit der angegebenen IP-Adresse keine Verbindung zum Host herstellen kann. Prüfen Sie die folgenden Szenarios, um das Problem zu beheben.

Stellen Sie sicher, dass das System über Internetzugang verfügt

Stellen Sie sicher, dass die Umgebung, die der SSH-Befehl ausführt, über Internetzugriff verfügt
  • Windows: Öffnen Sie ein Befehlszeilenfenster.
  • MacOS/Linux: Öffnen Sie ein Terminalfenster.
  • Pingen Sie einen bekannten Host wie google.com oder amazon.com.
  • Wenn der Ping-Befehl erfolgreich ist, fahren Sie mit der nächsten Option fort.
Ping nicht erfolgreich

Ihre SSH-Umgebung hat möglicherweise keinen Zugriff auf das Internet. Wenn Sie sich über die Firewalleinstellungen Ihrer Organisation für den Internetzugriff nicht sicher sind, sollten Sie OCI Cloud Shell für SSH zur Instanz verwenden. Weitere Informationen finden Sie im OCI Cloud Shell-Abschnitt auf dieser Seite.

OCI-Einstellungen prüfen

Prüfen Sie anschließend die OCI-Einstellungen, um Ihre Konfiguration zu prüfen.

Instanzdetails öffnen
  • Melden Sie sich bei der OCI-Konsole an.
  • Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  • Wählen Sie die gewünschte Instanz. Die Seite mit den Instanzdetails wird angezeigt.
Prüfen Sie die folgenden Einstellungen
  • Stellen Sie sicher, dass die Instanz ausgeführt wird und nicht gestoppt wird.
  • Stellen Sie sicher, dass die Instanz über eine öffentliche IP-Adresse verfügt.
    • Gehen Sie zum Abschnitt Instanzzugriff. Wenn eine öffentliche IP-Adresse zugewiesen wird, wird die Adresse beschriftet: IP-Adresse für öffentlichen Zugriff:
    • Wenn der Abschnitt Instanzzugriff leer ist, wird keine öffentliche IP-Adresse zugewiesen.
  • Wenn Sie über eine öffentliche Adresse verfügen, stellen Sie sicher, dass Sie die richtige IP-Adresse in Ihrem SSH-Befehl verwenden.
  • Wenn Sie keine öffentliche IP-Adresse haben, prüfen Sie das VCN-Subnetz.
    • Wenn Sie sich in einem privaten Subnetz befinden, können Sie keine Verbindung über das Internet zu Ihrer Instanz herstellen. Weitere Informationen finden Sie im Abschnitt Privates Subnetz verwenden.
  • Wenn Sie eine Instanz in einem öffentlichen Subnetz erstellt, aber beim Erstellen der Instanz keine öffentliche IP-Adresse zugewiesen haben, können Sie die Adresse weiterhin zuweisen. Informationen hierzu finden Sie unter Ephemere öffentliche IP einer vorhandenen primären privaten IP zuweisen.
    • Nachdem Sie die IP-Adresse festgelegt haben, starten Sie die Instanz neu, und versuchen Sie, mit SSH eine Verbindung zur Instanz herzustellen.

Die Instanz hat eine öffentliche IP-Adresse in einem öffentlichen Subnetz, und ich kann immer noch keine Verbindung herstellen

Wenn Sie OCI noch nicht kennen, sind die folgenden Schritte zur Fehlerbehebung weiter fortgeschritten. Um die Arbeit zu beschleunigen, sollten Sie ein neues VCN und eine neue Compute-Instanz einrichten, wie in den folgenden Tipps beschrieben.

Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, beachten Sie für ein geführtes Tutorial Folgendes:
Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, wird empfohlen, zuerst ein virtuelles Cloud-Netzwerk (VCN) zu erstellen. Sie können den Workflow "VCN-Assistenten starten" verwenden und die Option "VCN mit Internetverbindung erstellen" auswählen. Der Workflow erstellt ein VCN, das automatisch sowohl ein öffentliches als auch ein privates Subnetz sowie alle erforderlichen Gateways und Routingregeln konfiguriert. Darüber hinaus bietet der Workflow eine Option zur Konfiguration von IPv6. Einzelheiten zum Ausführen des Workflows finden Sie unter Virtuelles Networking - Schnellstart.
Instanzdetails öffnen
  • Melden Sie sich bei der OCI-Konsole an.
  • Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
  • Wählen Sie die gewünschte Instanz. Die Seite mit den Instanzdetails wird angezeigt.
VCN-Konfiguration prüfen
  • Klicken Sie auf das dieser Instanz zugewiesene VCN.
  • Stellen Sie sicher, dass mindestens ein Internetgateway in der Internetgateways-Ressource verfügbar ist.
    • Wenn kein Internetgateway zugewiesen ist, gehen Sie zum nächsten Abschnitt.
  • Wenn ein Internetgateway zugewiesen ist, stellen Sie sicher, dass Ihrem öffentlichen Subnetz eine Routingregel für das Gateway zugewiesen ist.
    • Wählen Sie unter der Ressource Subnetze das öffentliche Subnetz aus.
    • Klicken Sie unter Subnetzinformationen auf den Link Routentabelle.
    • Stellen Sie sicher, dass eine statische Route mit dem Ziel 0.0.0.0/0 vorhanden ist.
    • Wenn der Routeneintrag fehlt, gehen Sie zum nächsten Abschnitt.
Mein öffentliches Subnetz ist nicht ordnungsgemäß konfiguriert

Wenn das öffentliche Subnetz anscheinend nicht ordnungsgemäß konfiguriert ist, stehen Ihnen zwei Optionen zur Neukonfiguration des Subnetzes zur Verfügung.

(1) Compute-Schnellaktion verwenden.

Auf der Seite mit den Instanzdetails:

  • Wählen Sie in der Liste Ressourcen die Option Schnellaktionen aus.
  • Klicken Sie auf Verbinden in der Schnellaktion Öffentliches Subnetz mit Internet verbinden.
  • Befolgen Sie den Workflow, um die Instanz zu verbinden.

(2) Manuelles Erstellen eines öffentlichen Subnetzes.

  • Im Dokument Szenario A: Ein öffentliches Subnetz werden die Schritte zum Einrichten und Konfigurieren eines neuen öffentlichen Subnetzes beschrieben.
  • Erstellen Sie eine neue Compute-Instanz im neuen öffentlichen Subnetz.
Sicherheitslisten prüfen

Wenn weiterhin Probleme auftreten, stellen Sie sicher, dass Ihre Sicherheitslisten Traffic auf Port 22 zulassen. Weitere Informationen finden Sie unter Sicherheitslisten.

Erweiterte Fehlerbehebung

Wenn Sie ein fortgeschrittener Benutzer sind, können Sie mit Network Path Analyzer weitere Fehler in der Netzwerkverbindung beheben. Weitere Informationen finden Sie unter Network Path Analyzer.

SSH: Verbindung zu Host mit w.x.y.z-Port 22 herstellen: Verbindung abgelehnt

Diese Fehlermeldung wird verursacht, weil ein Host an der Zieladresse horcht, Sie jedoch keine Verbindung zu Port 22 herstellen können.

Prüfen Sie mit Netcat(nc), ob SSH ausgeführt wird

Linux oder MacOS

Führen Sie den folgenden Befehl in einem Terminalfenster aus:

nc <public ip> 22
  • Wenn der Befehl eine Meldung wie die Folgende zurückgibt: SSH-2.0-OpenSSH_9.4

    Sie haben sich erfolgreich bei der Instanz angemeldet, und es wurde verifiziert, dass SSH ausgeführt wird. Prüfen Sie die IP-Adresse in Ihrem SSH-Befehl doppelt, und stellen Sie sicher, dass sie korrekt ist.

  • Wenn der Befehl nichts zurückgibt:

    • Prüfen Sie die öffentliche IP-Adresse auf der Detailseite der Instanz, um sicherzustellen, dass Sie die richtige Adresse verwenden.
    • Prüfen Sie doppelt die im Befehl verwendete IP-Adresse, und stellen Sie sicher, dass sie korrekt ist.

    Fahren Sie mit dem nächsten Abschnitt fort.

Fenster

Führen Sie den folgenden Befehl in einem PowerShell-Fenster aus:

tnc <public ip> -p 22
  • Wenn der Befehl eine Meldung wie die Folgende zurückgibt:

    ComputerName     : <public ip>
                                    RemoteAddress    : <public ip>
                                    RemotePort       : 22
                                    InterfaceAlias   : Ethernet
                                    SourceAddress    : <source ip>
                                    TcpTestSucceeded : True

    Sie haben sich erfolgreich bei der Instanz angemeldet, und es wurde verifiziert, dass SSH ausgeführt wird. Prüfen Sie die IP-Adresse im SSH-Befehl doppelt, und stellen Sie sicher, dass sie korrekt ist.

  • Wenn der Befehl Folgendes zurückgibt: WARNING: TCP connect to (<public ip>) failed
    • Prüfen Sie die öffentliche IP-Adresse auf der Detailseite der Instanz, um sicherzustellen, dass Sie die richtige Adresse verwenden.
    • Prüfen Sie doppelt die im Befehl verwendete IP-Adresse, und stellen Sie sicher, dass sie korrekt ist.

    Andernfalls fahren Sie mit der Fehlerbehebung mit dem nächsten Abschnitt fort.

SSH wird nicht ausgeführt

  • Prüfen Sie, ob sich die Instanz in einem öffentlichen Subnetz befindet.
    • Wenn sich die Instanz in einem privaten Subnetz befindet, können Sie keine direkte Verbindung zur Instanz herstellen. Weitere Informationen finden Sie im Abschnitt Privates Subnetz verwenden.
  • Stellen Sie sicher, dass die Sicherheitslisten so konfiguriert sind, dass Verbindungen zu Port 22 zulässig sind. Weitere Informationen finden Sie unter Sicherheitslisten.
  • Starten Sie die Instanz neu, um den SSH-Daemon neu zu starten.
  • Erweitert: Wenn Sie ein benutzerdefiniertes Image verwenden und den SSH-Service starten oder installieren müssen, stellen Sie mit der seriellen Konsole eine Verbindung zur Instanz her.

<user-name>@w.x.y.z: Berechtigung abgelehnt (publickey,gssapi-keyex,gssapi-with-mic)

Diese Fehlermeldung gibt an, dass SSH eine Verbindung zum SSH-Servicehost herstellt, es ist jedoch ein Problem mit dem SSH-Befehl aufgetreten.

Prüfen Sie die folgenden Probleme mit dem SSH-Befehl

  • Prüfen Sie doppelt alle Befehlszeilenoptionen für SSH. Jede falsche Option kann diese Fehlermeldung auslösen.
    • Im Folgenden finden Sie ein Beispiel für einen korrekt formatierten SSH-Befehl für die Verbindung mit Oracle Linux.
      ssh -i <my-private-key-file> opc@x.x.x.x
  • Stellen Sie sicher, dass Sie den richtigen Benutzernamen für die Instanz verwenden:
    • Verwenden Sie für Oracle Linux oder andere mit Red Hat kompatible OSes opc.
    • Verwenden Sie für Ubuntu Linux ubuntu.
  • Stellen Sie sicher, dass Sie den richtigen Private Key verwenden. Die Verwendung der falschen Private-Key-Datei führt zu dieser Fehlermeldung.
    • Stellen Sie sicher, dass Sie sich im Verzeichnis mit dem Schlüssel befinden.
    • Stellen Sie alternativ sicher, dass der Pfad zum Private Key korrekt ist.
  • Ich habe meinen privaten Schlüssel verloren.
    • Erstellen Sie eine neue Instanz, und laden Sie die neuen öffentlichen und privaten Schlüssel herunter.
    • Erstellen Sie ein neues Set aus Public und Private Keys. Neue Instanz erstellen.

Mit Cloud Shell eine Verbindung zu einer OCI-Instanz herstellen

OCI Cloud Shell ist ein browserbasiertes Terminal, auf das von der OCI-Konsole aus zugegriffen werden kann. Cloud Shell kann (innerhalb monatlicher Mandantenlimits) kostenlos verwendet werden und ermöglicht den Zugriff auf eine Linux-Shell mit einer vorab authentifizierten OCI-CLI, einer vorab authentifizierten Ansible-Installation und anderen nützlichen Tools.

Wenn Sie Konnektivitätsprobleme mit Ihrer Instanz haben, ist Cloud Shell eine effektive Option für die Verbindung mit SSH. Da Cloud Shell browserbasiert ist, werden potenzielle Konnektivitätsprobleme aufgrund von Laptop- oder Unternehmensfirewalleinstellungen beseitigt. In diesem Abschnitt finden Sie Links zu Informationen zur Verwendung von Cloud Shell.

Verwenden eines privaten Subnetzes

Wenn sich Ihre Compute-Instanz in einem privaten Subnetz befindet, gibt es im Allgemeinen zwei Szenarios.

(1) Die Instanz befindet sich in einem privaten Subnetz, muss sich jedoch in einem öffentlichen Subnetz befinden

Damit sich die Instanz in einem öffentlichen Subnetz befindet, stehen Ihnen die folgenden Optionen zur Verfügung.

  • Erstellen Sie eine neue Instanz in einem öffentlichen Subnetz im aktuellen VCN. Beenden Sie die alte Instanz.
  • Erstellen Sie ein neues öffentliches Subnetz im aktuellen VCN. Erstellen Sie eine neue Instanz im neuen öffentlichen Subnetz. Beenden Sie die alte Instanz.
  • Erstellen Sie ein neues VCN mit einem öffentlichen Subnetz, und erstellen Sie dann eine neue Instanz im öffentlichen Subnetz. Beenden Sie die alte Instanz.
Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, beachten Sie für ein geführtes Tutorial Folgendes:
Tipp

Wenn Sie zum ersten Mal eine Instanz erstellen, wird empfohlen, zuerst ein virtuelles Cloud-Netzwerk (VCN) zu erstellen. Sie können den Workflow "VCN-Assistenten starten" verwenden und die Option "VCN mit Internetverbindung erstellen" auswählen. Der Workflow erstellt ein VCN, das automatisch sowohl ein öffentliches als auch ein privates Subnetz sowie alle erforderlichen Gateways und Routingregeln konfiguriert. Darüber hinaus bietet der Workflow eine Option zur Konfiguration von IPv6. Einzelheiten zum Ausführen des Workflows finden Sie unter Virtuelles Networking - Schnellstart.
(2) Die Instanz befindet sich absichtlich in einem privaten Subnetz

Wenn sich die Compute-Instanz in einem privaten Subnetz befindet, können Sie eine Verbindung mit ihr herstellen:

  • Cloud Shell: Weitere Informationen finden Sie auf dieser Seite im Abschnitt OCI Cloud Shell.
  • Bastion bietet eingeschränkten und begrenzten Zugriff auf Zielressourcen, die keine öffentlichen Endpunkte haben. Weitere Informationen finden Sie unter Bastionüberblick.

Zusätzliche Optionen zur Fehlerbehebung bei Verbindungen und Instanzen

Der Schwerpunkt dieser Seite besteht darin, mit dem SSH-Befehl eine Verbindung zu einer Instanz herzustellen. Im Folgenden finden Sie weitere Tools zur Fehlerbehebung bei Compute-Instanzen.

Fehler mit der seriellen Konsole beheben

Mit einer OCI-Konsolenverbindung können Sie sich mit der seriellen Konsole der Instanz bei der Instanz anmelden. Auf diese Weise können Sie Remotefehler beheben und eine Instanz konfigurieren. Weitere Informationen zu Konsolenverbindungen finden Sie unter Fehlerbehebung bei Instanzen mit Instanzkonsolenverbindungen.

Über die serielle Konsole können Sie die folgenden Verwaltungsaufgaben ausführen:

Instanzzustand beobachten

Auf der Seite mit den Instanzdetails können Sie Metriken zur Instanz einschließlich des Zustands der Instanz beobachten. Mit der Metrik oci_compute_instance_health können Sie überwachen, ob eine VM-Instanz nicht reagiert. Compute sendet eine Address Resolution Protocol-(ARP-)Anforderung an die virtuelle Netzwerkkarte (VNIC) der Instanz. Wenn der ARP-Ping nicht erfolgreich verläuft, zeigt die Metrik an, dass die Instanz nicht reagiert.

Um die Metrik zu verwenden, wählen Sie oci_compute_instance_health im Steuerelement Metrik-Namespace auf der Detailseite aus. Weitere Informationen finden Sie unter: Compute-Instanz-Health-Metriken.

Andere Compute-Abschnitte zur Fehlerbehebung

Neben SSH sind auch die folgenden Themen zur Fehlerbehebung verfügbar.