Verbindungen zu Linux-Instanzen herstellen
Sie können mit einer Secure Shell-(SSH-)Verbindung eine Verbindung zu einer aktiven Linux-Instanz herstellen.
Die Schritte zum Herstellen einer Verbindung zu einer Linux-Instanz variieren je nach Betriebssystem, von dem Sie eine Verbindung herstellen.
Die meisten UNIX-Systeme enthalten standardmäßig einen SSH-Client. Windows 10- und Windows Server 2019-Systeme müssen den OpenSSH-Client enthalten, den Sie benötigen, wenn Sie Ihre Instanz mit den SSH-Schlüsseln erstellt haben, die von Oracle Cloud Infrastructure generiert wurden. Bei anderen Windows-Versionen können Sie den kostenlosen SSH-Client PuTTY von http://www.putty.org herunterladen.
Vorschläge zur Fehlerbehebung finden Sie unter Troubleshooting the SSH Connection. Informationen zu Berechtigungen finden Sie unter Erforderliche IAM-Policy für das Arbeiten mit Instanzen.
Kein SSH-Schlüssel: Ihre Instanz muss über SSH-Schlüssel verfügen, damit ein Host eine Verbindung herstellen kann. Wenn Sie eine Instanz ohne SSH-Schlüssel erstellt haben, führen Sie einen der folgenden Schritte aus:
- Beenden Sie die Instanz, und starten Sie eine neue Instanz mit den enthaltenen SSH-Schlüsseln. Informationen hierzu finden Sie unter Instanzen erstellen.
- Stoppen Sie die Instanz, fügen Sie das Boot-Volume an und konfigurieren Sie SSH auf der neuen Instanz.
- Verwenden Sie die serielle Konsole, um in den Wartungsmodus zu starten und den SSH-Schlüssel für den Opc-Benutzer hinzuzufügen oder zurückzusetzen oder das Passwort für den Opc-Benutzer zurückzusetzen.
Bevor Sie beginnen
Sie benötigen die folgenden Informationen, um eine Verbindung zu einer Linux-Instanz herzustellen:
- Öffentliche IP-Adresse: Die öffentliche IP-Adresse der Instanz. Sie können die Adresse in der Konsole über die Seite "Instanzdetails" abrufen. Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen. Wählen Sie die Instanz aus. Sie können auch die Vorgänge ListVnicAttachments und GetVnic der Coreservices-API verwenden.
- Benutzername: Der Standardbenutzername für die Instanz. Wenn Sie ein Oracle Linux- oder CentOS-Plattformimage zum Erstellen der Instanz verwendet haben, lautet der Benutzername
opc
. Wenn Sie ein Ubuntu-Plattformimage zum Erstellen der Instanz verwendet haben, lautet der Benutzernameubuntu
. - SSH-Private Key: Der vollständige Pfad zum Private-Key-Teil des SSH-Schlüsselpaares, das Sie beim Erstellen der Instanz verwendet haben. Weitere Informationen zu Schlüsselpaaren finden Sie unter Schlüsselpaare auf Linux-Instanzen verwalten.
- Informationen zum Erstellen oder Hochladen Ihrer SSH-Schlüssel finden Sie unter Instanzen erstellen.
- SSH-Berechtigungen: Stellen Sie sicher, dass Berechtigungen für den SSH-Ordner und die SSH-Schlüssel korrekt für Ihr BS festgelegt sind, wie in den folgenden Abschnitten beschrieben.
Verbindung zu einer Linux-Instanz von einem Unix-System herstellen
Verbindung von macOS Ventura mit OpenSSH 9.0 herstellen: Wenn Sie von einem Client mit macOS Ventura (Version 13) oder einem Client mit OpenSSH 9.0 eine Verbindung zu einer Instanz herstellen, tritt möglicherweise ein Verbindungsproblem auf. Weitere Informationen und einen Workaround finden Sie unter dem bekannten Problem SSH-Verbindungsprobleme bei macOS Ventura mit OpenSSH 9.0.
-
Verwenden Sie den folgenden Befehl, um die Dateiberechtigungen so festzulegen, dass nur Sie die Datei lesen können:
chmod 400 <private_key_file>
<private_key_file> ist der vollständige Pfad und Name der Datei, die den Private Key enthält, der mit der gewünschten Instanz verknüpft ist.
-
Mit dem folgenden SSH-Befehl können Sie auf die Instanz zugreifen.
Hinweis
Kopieren Sie das folgende Beispiel, um sicherzustellen, dass die richtigen Zeichen verwendet werden. Wenn inssh -i
das falsche Zeichen verwendet wird, kann der FehlerHostname konnte nicht aufgelöst werden...: Der Host ist unbekannt
auftreten.ssh -i <private_key_file> <username>@<public-ip-address>
<private_key_file> ist der vollständige Pfad und Name der Datei, die den Private Key enthält, der mit der gewünschten Instanz verknüpft ist.
<username> ist der Standardbenutzername für die Instanz. Bei Oracle Linux- und CentOS-Images lautet der Standardbenutzername
opc
. Bei Ubuntu-Images lautet der Standardbenutzernameubuntu
.<public-ip-address> ist die IP-Adresse der Instanz, die Sie von der Konsole abgerufen haben.
- Wenn Sie zum ersten Mal eine Verbindung zu dieser Instanz herstellen, müssen Sie den Fingerprint des Schlüssels akzeptieren. Um den Fingerprint zu akzeptieren, geben Sie Ja ein, und drücken Sie die Eingabetaste.
- Geben Sie an der Shell-Eingabeaufforderung
exit
ein, um die Session zu beenden.
Verbindung zu einer Linux-Instanz von einem Windows-System mit OpenSSH herstellen
Verwenden Sie das folgende Verfahren, wenn die Instanz ein Schlüsselpaar verwendet, das von Oracle Cloud Infrastructure generiert wurde.
-
Wenn Sie dieses Schlüsselpaar zum ersten Mal verwenden, müssen Sie die Dateiberechtigungen so festlegen, dass nur Sie die Datei lesen können. Gehen Sie folgendermaßen vor:
- Navigieren Sie in Windows Explorer zur Private-Key-Datei, klicken Sie mit der rechten Maustaste auf die Datei, und klicken Sie dann auf Eigenschaften.
- Klicken Sie auf der Registerkarte Sicherheit auf Erweitert.
- Stellen Sie auf der Registerkarte Berechtigungen in Berechtigungseinträge sicher, dass unter Principal Ihr Benutzeraccount aufgeführt wird.
- Klicken Sie auf Vererbung deaktivieren, und wählen Sie Vererbte Berechtigungen in explizite Berechtigungen für dieses Objekt konvertieren aus.
- Wählen Sie unter Berechtigungseinträge jeden Berechtigungseintrag aus, der nicht Ihr Benutzeraccount ist, und klicken Sie auf Entfernen.
- Stellen Sie sicher, dass die Zugriffsberechtigung für Ihren Benutzeraccount Vollzugriff lautet.
- Ihre Änderungen speichern.
-
Um eine Verbindung zur Instanz herzustellen, öffnen Sie Windows PowerShell, und führen Sie den folgenden Befehl aus:
Hinweis
Kopieren Sie das folgende Beispiel, um sicherzustellen, dass die richtigen Zeichen verwendet werden. Wenn inssh -i
das falsche Zeichen verwendet wird, kann der FehlerHostname konnte nicht aufgelöst werden...: Der Host ist unbekannt
auftreten.ssh -i <private_key_file> <username>@<public-ip-address>
<private_key_file> ist der vollständige Pfad und Name der
.key
-Datei, die den Private Key enthält, der mit der gewünschten Instanz verknüpft ist.<username> ist der Standardbenutzername für die Instanz. Bei Oracle Linux- und CentOS-Images lautet der Standardbenutzername
opc
. Bei Ubuntu-Images lautet der Standardbenutzernameubuntu
.<public-ip-address> ist die IP-Adresse der Instanz, die Sie von der Konsole abgerufen haben.
- Wenn Sie zum ersten Mal eine Verbindung zu dieser Instanz herstellen, müssen Sie den Fingerprint des Schlüssels akzeptieren. Um den Fingerprint zu akzeptieren, geben Sie Ja ein, und drücken Sie die Eingabetaste.
- Geben Sie an der Shell-Eingabeaufforderung
exit
ein, um die Session zu beenden.
Verbindung zu einer Linux-Instanz von einem Windows-System mit PuTTY herstellen
SSH-Private-Key-Dateien, die von Oracle Cloud Infrastructure generiert werden, sind nicht mit PuTTY kompatibel. Wenn Sie eine beim Erstellen der Instanz generierte Private-Key-Datei verwenden, müssen Sie die Datei in eine .ppk
-Datei konvertieren, bevor Sie mit PuTTY eine Verbindung zur Instanz herstellen können.
Wenn Sie die Dateiberechtigungen für den Schlüssel geändert haben, um sich über ein Windows-System mit OpenSSH anzumelden, funktioniert der Schlüssel nicht mit einer PuTTY-Verbindung. Verwenden Sie stattdessen OpenSSH, um eine Verbindung herzustellen.
Generierte Private-Key-Datei (.key) konvertieren:
-
Öffnen Sie PuTTYgen.
-
Klicken Sie auf Laden, und wählen Sie den Private Key aus, der beim Erstellen der Instanz generiert wurde. Die Erweiterung für die Schlüsseldatei lautet
.key
. -
Klicken Sie auf Private Key speichern.
-
Geben Sie einen Namen für den Schlüssel an. Die Erweiterung für den neuen Private Key lautet
.ppk
. -
Klicken Sie auf Save.
Hinweis
PuTTYgen überschreibt die Datei.key
nicht, sondern erstellt eine zusätzliche Datei mit demselben Namen mit der Erweiterung.ppk
.
Mit einer Private-Key-Datei (.ppk) bei der Linux-Instanz anmelden:
Wenn die Instanz ein Schlüsselpaar verwendet, das Sie mit PuTTY Key Generator erstellt haben, gehen Sie wie folgt vor.
- Öffnen Sie PuTTY.
-
Wählen Sie im Bereich Category die Option Session aus, und geben Sie Folgendes ein:
-
Hostname (oder IP-Adresse):
<username>@<public-ip-address>
<username> ist der Standardbenutzername für die Instanz. Bei Oracle Linux- und CentOS-Images lautet der Standardbenutzername
opc
. Bei Ubuntu-Images lautet der Standardbenutzernameubuntu
.<public-ip-address> ist die öffentliche IP-Adresse der Instanz, die Sie von der Konsole abgerufen haben.
- Port: 22
- Verbindungstyp: SSH
-
- Blenden Sie im Bereich Category Window ein, und wählen Sie Translation aus.
- Wählen Sie im Menü Remote character set die Option UTF-8 aus. Die Standardgebietsschema-Einstellung auf Linux-basierten Instanzen ist UTF-8. Damit wird PuTTY so konfiguriert, dass dasselbe Gebietsschema verwendet wird.
- Blenden Sie im Bereich Category die Optionen Connection, SSH und Auth ein, und klicken Sie auf Zugangsdaten.
-
Klicken Sie auf Browse, und wählen Sie die Private-Key-Datei (
.ppk
) aus. -
Klicken Sie auf Open, um die Session zu starten.
Wenn Sie sich das erste Mal mit der Instanz verbinden, wird möglicherweise eine Meldung angezeigt, dass der Hostschlüssel des Servers nicht in der Registry gecacht ist. Klicken Sie auf Yes, um die Verbindung fortzusetzen.
- Geben Sie an der Shell-Eingabeaufforderung
exit
ein, um die Session zu beenden.
Wenn die Verbindung nicht erfolgreich hergestellt wird und Sie sich nicht hinter einem Proxy befinden, stellen Sie sicher, dass der Proxytyp in der PuTTY-Konfiguration auf Kein Wert gesetzt ist. Wenn Sie sich hinter einem Proxy befinden, wählen Sie den Proxytyp aus, und geben Sie den Proxyhostnamen und die Portnummer ein. Weitere Informationen zu PuTTY finden Sie unter PuTTY-Tool aktualisieren.