Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Anmeldung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Er verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, Mandanten und Compartments. Ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
SSH-Schlüssel generieren
Einführung
Das SSH-(Secure Shell-)Protokoll ist eine Methode zur sicheren Remoteanmeldung von einem Computer zu einem anderen. SSH ermöglicht die sichere Systemadministration und Dateiübertragungen über unsichere Netzwerke, indem die Verbindungen zwischen Endpunkten durch Verschlüsselung gesichert werden. SSH-Schlüssel sind ein wichtiger Bestandteil des sicheren Zugriffs auf Oracle Cloud Infrastructure-Compute-Instanzen in der Cloud.
Wenn Sie bereits über ein SSH-Schlüsselpaar verfügen, können Sie diese zum Herstellen einer Verbindung mit Ihrer Umgebung verwenden. Wir empfehlen, die Oracle Cloud-Shell für die Schnittstelle mit der zu erstellenden OCI-Compute-Instanz zu verwenden. Oracle Cloud Shell ist browserbasiert, erfordert keine Installation oder Konfiguration von irgendetwas auf Ihrem Laptop und funktioniert unabhängig von Ihrer Netzwerksetup. Wenn Sie jedoch eine Verbindung über Ihren Laptop herstellen möchten, wählen Sie eine Option basierend auf Ihrer Konfiguration aus.
Wichtig: Wenn der SSH-Schlüssel nicht korrekt erstellt wird, können Sie keine Verbindung zur Umgebung herstellen und Fehler erhalten. Stellen Sie sicher, dass Sie den Schlüssel ordnungsgemäß erstellen.
Option 1: Oracle Cloud-Shell
In dem folgenden Video erhalten Sie einen Überblick über die Option "SSH-Schlüssel-Cloud-Shell generieren".
Die Cloud Shell-Maschine ist eine kleine virtuelle Maschine, auf der eine Bash-Shell ausgeführt wird, auf die Sie über die OCI-Konsole (Homepage) zugreifen. Cloud-Shell enthält eine vorauthentifizierte OCI-CLI (Befehlszeilenschnittstelle), die auf die Homepageregion des Konsolemandanten gesetzt ist, sowie aktuelle Tools und Utilitys. Um den Cloud Shell-Rechner zu verwenden, muss Ihr Mandantenadministrator die erforderliche IAM-(Identity and Access Management-)Policy erteilen.
-
Um die Oracle Cloud-Shell zu starten, navigieren Sie zur Cloud-Konsole, und klicken Sie oben rechts auf der Seite auf das Cloud-Shell-Symbol.
-
Nachdem die Cloud-Shell gestartet wurde, geben Sie die folgenden Befehle ein. Wählen Sie den Schlüsselnamen, den Sie sich merken können. Dies ist der Schlüsselname, mit dem Sie eine Verbindung zu allen von Ihnen erstellten Compute-Instanzen herstellen. Drücken Sie zweimal die Eingabetaste, wenn keine Passphrase vorhanden ist.
mkdir .ssh cd .ssh ssh-keygen -b 2048 -t rsa -f <<sshkeyname>>
Hinweis: Die spitzen Klammern "" dürfen nicht in Ihrem Code angezeigt werden.
-
Prüfen Sie die beiden gerade erstellten Dateien.
ls
Beachten Sie in der Ausgabe, dass zwei Dateien vorhanden sind: Private Key:
<<sshkeyname>>
und Public Key:<<sshkeyname>>.pub
. Halten Sie den Private Key sicher, und teilen Sie seinen Inhalt mit niemandem. Der Public Key wird für verschiedene Aktivitäten benötigt und kann in bestimmte Systeme hochgeladen sowie kopiert und eingefügt werden, um eine sichere Kommunikation in der Cloud zu erleichtern. -
Um den Inhalt des Public Keys aufzulisten, verwenden Sie den cat-Befehl
cat <<sshkeyname>>.pub
Hinweis: Die spitzen Klammern "" dürfen nicht in Ihrem Code angezeigt werden.
-
Achten Sie beim Einfügen des Schlüssels in zukünftige Übungen auf die Compute-Instanz darauf, dass Sie alle beim Kopieren hinzugefügten festen Rückgaben entfernen. Der .pub-Schlüssel muss eine Zeile sein.
Option 2: MacOS
Im folgenden Video erhalten Sie einen Überblick über die Option "Generate SSH Keys Mac".
-
Wenn Sie noch keine Verknüpfung zur Terminalanwendung für MacOS haben, finden Sie diese im Menü Anwendungen > Versorgungsprogramme oder (Shift+Command+U) auf Ihrer Tastatur.
-
Starten Sie Terminal, und geben Sie den Befehl
ssh-keygen
ein. ssh-keygen fragt Sie, wo die Taste gespeichert werden soll. Über die Eingabetaste können Sie den Standardordner .ssh in Ihrem Home-Verzeichnis übernehmen. Der Dateiname istid_rsa
oder der Name des Schlüssels. Drücken Sie zweimal die Eingabetaste, wenn keine Passphrase vorhanden ist. Denken Sie an das Verzeichnis, in dem Sie den Schlüssel gespeichert haben (~/.ssh). Sie müssen ihn später beim Erstellen der Instanz referenzieren.ssh-keygen
-
Geben Sie im Terminalfenster die folgenden Befehle ein, um zu prüfen, ob der Public Key und der Private Key erstellt wurden, und um den Inhalt des Public Keys zu kopieren, der beim Erstellen der Instanz im OCI-Dialog verwendet werden soll.
cd .ssh ls cat id_rsa.pub
Beachten Sie in der Ausgabe, dass zwei Dateien vorhanden sind: Private Key:
id_rsa
und Public Key:id_rsa.pub
. Halten Sie den Private Key sicher, und teilen Sie seinen Inhalt mit niemandem. Der Public Key wird für verschiedene Aktivitäten benötigt und kann in bestimmte Systeme hochgeladen sowie kopiert und eingefügt werden, um eine sichere Kommunikation in der Cloud zu erleichtern. -
Wenn Sie zum Erstellen einer Instanz bereit sind, kopieren Sie den Inhalt, und fügen Sie ihn ein, wenn Sie zur Eingabe des SSH-Schlüssels aufgefordert werden. Stellen Sie sicher, dass Sie alle festen Rücksendungen entfernen, die beim Kopieren hinzugefügt wurden.
Klicken Sie auf das MacOS Terminal User Guide
Option 3: Windows 10
Im folgenden Video erhalten Sie einen Überblick über die Option "Generate SSH Keys Windows".
Das Erstellen von Schlüsseln für Windows kann interessant sein, da ssh-keygen
bis zur Veröffentlichung von Windows 10 kein natives Utility für Windows war. Und es war nicht in den ersten Windows 10-Builds enthalten.
-
Öffnen Sie ein Powershell-Befehlsfenster auf Ihrem Windows 10-System, indem Sie auf das Symbol bzw. die Kachel klicken oder "powershell" in das Suchfeld in der Startleiste eingeben.
-
Geben Sie den Befehl
ssh-keygen
in das Terminalfenster ein. Achten Sie besonders darauf, wo die Datei gespeichert wird, damit Sie sie später finden können.ssh-keygen
verwendet standardmäßig das Standardverzeichnis .ssh unter dem Basisverzeichnis des Benutzers.ssh-keygen
-
Drücken Sie bei allen Eingabeaufforderungen die Eingabetaste, um den Standardspeicherort, die Standarddateinamen und keine Passphrase zu akzeptieren.
Hinweis: In Unix-Varianten wurde ein Ordner mit einem Punkt (.) vor ihm normalerweise für Konfigurationsdateien und "ausgeblendet" aus der normalen Ansicht bestimmt. Ein Punkt (.) bedeutet jedoch nichts Besonderes vor Windows-Ordnern. Der Ordner ist also vorhanden, wird aber nicht ausgeblendet.
-
Bestätigen Sie, dass Ihre Schlüssel vorhanden und korrekt erstellt wurden. Geben Sie im Powershell-Fenster die folgenden Befehle ein.
cd .ssh ls cat id_rsa.pub
Sie haben jetzt ein funktionierendes SSH-Schlüsselpaar und können es für die sichere Kommunikation mit Instanzen in der Cloud verwenden. Geben Sie den Private Key
id_rsa
nur dann an, wenn Sie wissen, was Sie tun. Sie sollten den Public Keyid_rsa.pub
nur gemeinsam verwenden und kopieren. -
Beachten Sie außerdem, dass Sie die Datei unter Windows entweder über Powershell, Explorer oder andere Directory-Tools suchen müssen, wenn Sie den Inhalt des Schlüssels in bestimmte Dialogfelder für Ihre Übungen kopieren/einfügen und die Public-Key-Datei öffnen müssen, um den Inhalt zu kopieren. Das folgende Beispiel verwendet Powershell, um den Inhalt
cat
hinzuzufügen. Sie können den Text mit der Maus auswählen, aber die Befehle zum Kopieren/Einfügen sind nicht verfügbar. Verwenden Sie<ctrl-c>
, um den Inhalt in die Zwischenablage zu kopieren und in andere Anwendungsdialogfelder einzufügen.Sie können die Datei auch mit Notepad, Wordpad oder anderen Texteditoren öffnen.
Hinweis: Verwenden Sie weder MS Word noch andere Rich Text-Editoren, da sie zusätzliche Formatierungszeichen hinzufügen, die den Schlüssel unbrauchbar machen.
Option 4: Vorherige Windows-Versionen
Git verwenden
In früheren Versionen von Windows war ssh-keygen kein natives Dienstprogramm, daher mussten Dienstprogramme von Drittanbietern genutzt werden. In diesem Abschnitt wird die Verwendung von Git for Windows veranschaulicht. Git für Windows umfasst eine Unix-ähnliche Shell namens Git Bash
, mit der Sie Schlüssel erstellen und SSH-Kommunikation mit Ihren Cloud-Hostsystemen einrichten. Wenn Sie PuTTY bevorzugen, gehen Sie zum nächsten Abschnitt.
-
Falls sie noch nicht installiert ist, rufen Sie den folgenden Link auf, und laden Sie die Anwendung herunter. Wenn Sie aufgrund von Berechtigungsproblemen nichts auf Ihrem Laptop installieren können, verwenden Sie die Option Oracle Cloud Shell oben.
-
Befolgen Sie die Anweisungen für die Installation.
Hinweis: Die Installation von Git für Windows geht über den Umfang dieser Übung hinaus.
-
Nach der Installation sollten Sie in Ihrem Windows-Startmenü einen Eintrag für Git anzeigen, der den Befehl Git Bash enthalten sollte. Klicken Sie auf den Befehl Git Bash.
-
Geben Sie
ssh-keygen
in das Terminalfenster ein. Drücken Sie die Eingabetaste, um den Standardspeicherort (~/.ssh) und den Standarddateinamen (id_rsa) und<Enter>
zwei Mal ohne Passphrase zu akzeptieren.ssh-keygen
Hinweis: Der schwierige Teil hier besteht darin, dass Git Bash ein simuliertes Unix-Home-Verzeichnis verwendet. Um Ihre Schlüssel anzuzeigen, abzurufen oder zu kopieren, müssen Sie in die Windows-Verzeichnisstruktur navigieren.
-
Navigieren Sie zunächst "up" in das Root-Verzeichnis C: .
cd c:
Navigieren Sie dann in den Ordner .ssh in Ihrem normalen Home-Verzeichnis.
cd Users/<your home folder name>/.ssh/
Hinweis: Die eckigen Klammern <> sollten nicht in Ihrem Code angezeigt werden.
ls
Beachten Sie in der Ausgabe, dass zwei Dateien vorhanden sind: Private Key:
id_rsa
und Public Key:id_rsa.pub
. Halten Sie den Private Key sicher, und teilen Sie seinen Inhalt mit niemandem. Der Public Key wird für verschiedene Aktivitäten benötigt und kann in bestimmte Systeme hochgeladen sowie kopiert und eingefügt werden, um eine sichere Kommunikation in der Cloud zu erleichtern. -
Notieren Sie sich, wo sich Ihre öffentlichen SSH- und Private-Key-Dateien befinden. Möglicherweise werden Sie aufgefordert, die Datei hochzuladen oder den Inhalt in anderen Übungen für Oracle Cloud Services zu kopieren/ einzufügen. Kopieren Sie den Schlüsselinhalt exakt, sodass das Erfassen von Leerzeichen nach den Schlüsselzeichen Ihren Schlüssel möglicherweise ungültig macht. Im folgenden Beispiel können Sie den Befehl gitbash
cat
verwenden, um den Inhalt der Public-Key-Datei anzuzeigen. Sie können den Inhalt der Schlüsseldatei auswählen und mit der rechten Maustaste auf Kopieren klicken, um den Schlüssel zu kopieren. Sie können die Datei auch direkt hochladen.Hinweis: Wenn Sie bereits Git für Windows installiert haben, sollten Sie sich nicht mit PuTTY beschäftigen. Es ist Ihre Wahl, welches Utility für die Schlüsselgenerierung und den Terminalzugriff verwendet werden soll.
Verwenden Sie PuTTY
In früheren Versionen von Windows war ssh-keygen kein natives Dienstprogramm, daher mussten Dienstprogramme von Drittanbietern genutzt werden. In diesem Abschnitt wird die Verwendung von PuTTY veranschaulicht. Wenn Sie Größe für Windows bevorzugen, besuchen Sie die Option vor diesem.
-
Falls sie noch nicht installiert ist, rufen Sie den folgenden Link auf, und laden Sie die Anwendung herunter. Für Oracle-Mitarbeiter ist PuTTY auch intern über die Anwendung MyDesktop zum Herunterladen verfügbar. Verwenden Sie für Nicht-Oracle-Mitarbeiter und -Kunden den folgenden Link. Wenn Sie aufgrund von Berechtigungsproblemen nichts auf Ihrem Laptop installieren können, verwenden Sie die Option Oracle Cloud Shell oben.
-
Befolgen Sie die Anweisungen für die Installation.
Hinweis: Die Installation von PuTTY geht über den Umfang dieses Übungsdokuments hinaus.
Nach der Installation sollten Sie einen Eintrag in Ihrem Windows-Startmenü und eventuell eine Desktop-Verknüpfung für PuTTY eingeben. PuTTY ist eigentlich eine Suite von sicheren Kommunikationsdienstprogrammen. Zwei davon werden verwendet, das PuTTY-Dienstprogramm für den Terminalzugriff und das PuTTYgen-Dienstprogramm zum Generieren eines sicheren SSH-Schlüssels.
-
Öffnen Sie das Windows-Startmenü, und navigieren Sie zum Ordner PuTTY. Wählen Sie das Utility PuTTYgen aus.
-
Vergewissern Sie sich, dass die Standardwerte ausgewählt sind und der Schlüsseltyp auf 2048 Bit gesetzt werden soll. Klicken Sie auf die Schaltfläche Generieren.
-
Befolgen Sie die Anweisungen, und bewegen Sie die Maus um den leeren grauen Bereich, um zufällige Informationen zu generieren. PuTTY verwendet diese Informationen, um einen zufälligen, sicheren SSH-Schlüssel zu generieren.
-
Im folgenden Bildschirm hat PuTTY die Mausinformationen übernommen und einen Schlüssel erstellt. Wir müssen hier einige Dinge tun, die etwas anders sind als andere Methoden der Schlüsselerzeugung. Obwohl die Datei nicht tatsächlich für eine OCI-Instanz verwendet werden kann, wird der Schlüssel dennoch für eine zukünftige Referenz gespeichert. Klicken Sie auf die Schaltfläche Public Key speichern.
Hinweis: PuTTY speichert keine Schlüssel in einem OpenSSH-kompatiblen Format. Wenn Sie also eine mit PuTTY erstellte Public-Key-Datei mit OpenSSH in ein Linux/Unix-System hochladen, wird der Schlüssel nicht korrekt gelesen. Die Schlüsselinformationen selbst funktionieren jedoch, wenn sie direkt aus der Anwendung PuTTYgen kopiert werden, ordnungsgemäß, wenn sie hinzugefügt wurden. Diese Informationen werden dann verwendet, um einen geeigneten OpenSSH-kompatiblen Schlüssel zu erstellen. Beispiel: Wenn Sie eine Instanz auf OCI erstellen, können Sie den SSH-Schlüssel aus PuTTY einfügen, und er funktioniert ordnungsgemäß.
-
Geben Sie im Dialogfeld Public Key speichern unter: einen Namen für den Schlüssel ein, und fügen Sie die Erweiterung
.pub
zum Dateinamen hinzu. Es ist auch hilfreich, wenn Sie die Datei im gemeinsamen Ordner.ssh
unter Ihrer Windows-Benutzernamen-/Ordnerstruktur speichern. In diesem Beispiel ist das VerzeichnisC:\Users\<username>\.ssh
für die Schlüsseldateien zugänglich. Speichern Sie die Schlüssel hier, um eine einfache zukünftige Referenz zu erhalten. -
Als Nächstes müssen Sie den Private Key speichern. Klicken Sie auf die Schaltfläche Private Key speichern, und geben Sie Ja für die Warnung vor dem Speichern ohne Passphrase ein.
-
Benennen Sie den Schlüssel, und prüfen Sie, ob er mit der Erweiterung
.ppk
gespeichert wird, um die Datei als Private Key-Datei zu identifizieren. Geben Sie Ihren Private Key an niemanden frei. -
Jetzt haben Sie die Schlüssel für zukünftige Referenzen gespeichert. Sie müssen lediglich die Schlüsselinformationen aus dem Dialogfeld PuTTY kopieren.
-
Wählen Sie den Schlüsseltext im Dialogfeld von Anfang bis Ende aus, klicken Sie mit der rechten Maustaste, und wählen Sie Kopieren. Sie können den Schlüssel dann in ein Notizbuch oder direkt in das Dialogfeld zur Instanzerstellung in der OCI-Konsole einfügen.
-
Im Folgenden finden Sie ein Beispiel für das Dialogfeld SSH-Schlüssel hinzufügen - SSH-Schlüssel einfügen im Formular zum Erstellen der OCI-Instanz.
Damit ist der Abschnitt zur Verwendung von PuTTY abgeschlossen, um ein SSH-Schlüsselpaar für Windows-Versionen vor Windows 10 zu generieren.
Befolgen Sie die folgenden Anweisungen, um mit dem Terminal PuTTY eine Verbindung zu einer Cloud-Instanz über SSH herzustellen.
Mit PuTTY bei einer Instanz anmelden
-
Öffnen Sie das Dienstprogramm PuTTY über das Windows-Startmenü. Geben Sie im Dialogfeld die IP-Adresse der OCI-Compute-Instanz ein. Dies kann über den Bildschirm OCI-Konsole > Compute > Instanzen > Instanzdetails erreicht werden.
-
Wählen Sie unter Kategorie die Option Verbindung und dann das Feld Daten aus. Geben Sie den Benutzernamen der zugewiesenen Instanz ein. OCI-Instanzen verwenden standardmäßig den Benutzernamen
opc
. Geben Sieopc
ein. -
Navigieren Sie unter Kategorie zu Verbindung - SSH, und wählen Sie die Kategorie Auth aus. Klicken Sie auf die Schaltfläche Durchsuchen, und suchen Sie die
private key file
, die Sie im vorherigen Schritt erstellt haben. Klicken Sie auf die Schaltfläche Öffnen, um die SSH-Verbindung zu Ihrer Cloudinstanz zu initiieren. -
Klicken Sie auf Ja, um den Sicherheits-Alert über den nicht gecachten Schlüssel zu umgehen.
-
Verbindung erfolgreich. Sie sind jetzt sicher mit einer OCI Cloud-Instanz verbunden.
Sie können jetzt eine sichere Verbindung mit dem Terminalutility PuTTY herstellen. Sie können die Verbindungsinformationen für die zukünftige Verwendung speichern und PuTTY mit Ihren eigenen benutzerdefinierten Einstellungen konfigurieren.
Hinweis: Wenn Sie PuTTY bereits installiert haben, stören Sie nicht mit Git für Windows. Sie können die Schlüsselgenerierung und den Terminalzugriff verwenden.
Option 5: SSH-Schlüssel für Linux
-
Öffnen Sie ein Terminalfenster, und geben Sie den Befehl
ssh-keygen
ein. Es gibt einige Befehlszeilenoptionen für das Utility ssh-keygen. Für die schnelle und verschmutzte Schlüsselerstellung für die Laborverwendung sind jedoch keine Optionen erforderlich. Geben Siessh-keygen --help
in das Terminalfenster ein, um alle möglichen Optionen anzuzeigen. Führen Sie den Befehl jetzt nur selbst aus.ssh-keygen
-
Sie sollten diesen Befehl in Ihrem Home-Verzeichnis ausführen. In diesem Fall als Benutzer-ID
opc
. Im Dialogfeld wird standardmäßig das verborgene Verzeichnis~/.ssh
angezeigt. Wenn noch keine Schlüssel erstellt wurden, akzeptieren Sie den Standarddateinamenid_rsa
, indem Sie die Eingabetaste drücken. Drücken Sie die Eingabetaste erneut, um eine Taste ohne Passphrase zu erstellen. Die Best Practice in einer Produktionsumgebung wäre die Verwendung einer sicheren Passphrase. Bei diesen Übungen müssen wir uns jedoch nicht darum kümmern.Das Dialogfeld gibt an, dass das Schlüsselpaar im Verzeichnis
/home/username/.ssh
gespeichert wurde und jetzt verwendet werden kann. -
Wechseln Sie in das Verzeichnis
.ssh
, listen Sie die Schlüssel auf, und prüfen Sie sie.cd .ssh ls
Beachten Sie in der Ausgabe, dass zwei Dateien vorhanden sind: Private Key:
id_rsa
und Public Key:id_rsa.pub
. Halten Sie den Private Key sicher, und teilen Sie seinen Inhalt mit niemandem. Der Public Key wird für verschiedene Aktivitäten benötigt und kann in bestimmte Systeme hochgeladen sowie kopiert und eingefügt werden, um eine sichere Kommunikation in der Cloud zu erleichtern. -
Verwenden Sie den Linux-Befehl
cat
, um den Inhalt vonid_rsa.pub
aufzulisten.cat id_rsa.pub
-
In einigen Übungen werden Sie aufgefordert, den Public Key in eine Instanz hochzuladen oder zu kopieren (rcp), um die Kommunikation zu erleichtern. Denken Sie also daran, wo die Datei gespeichert wird. Andere Übungen fordern, dass der "Inhalt" des Schlüssels in verschiedene Dialogfelder eingefügt wird, um sichere Verbindungen zu erleichtern. Verwenden Sie den Befehl
cat
, kopieren Sie die Informationen aus dem Schlüssel ab dem Wort "ssh-rsa", und kopieren Sie alles bis zum endgültigen Zeichen in der Zeile. Im folgenden Beispiel würden Sie von "ssh-rsa ... " und genau nach "... -01" kopieren. Kopieren Sie die Schlüsselinhalte exakt, sodass das Erfassen von Leerzeichen nach den Schlüsselzeichen Ihren Schlüssel möglicherweise ungültig macht.Sie haben ein öffentliches/privates SSH-Schlüsselpaar erstellt und können es in allen Oracle OCI-Übungen verwenden, für die ein SSH-Schlüssel erforderlich ist.
Falls Sie interessiert sind, klicken Sie hier, um weitere Details zu SSH zu erhalten. Ein kurzes Tutorial zum Initiieren einer Verbindung von einer Linux-Instanz mit den soeben erstellten SSH-Schlüsseln.
Danksagungen
- Autor - Dan Kingsley (Enablement Specialist, OSPA)
- Mitwirkende - Kay Malcolm, Tom McGinn, Kamryn Vinson, Anil Nair
Weitere Lernressourcen
Sehen Sie sich andere Übungen unter docs.oracle.com/learn an, oder greifen Sie auf kostenlosere Lerninhalte im Oracle Learning YouTube-Kanal zu. Unter education.oracle.com/learning-explorer können Sie außerdem zum Oracle Learning Explorer werden.
Weitere Informationen zur Produktdokumentation finden Sie unter Oracle Help Center.