Schlüsselpaare auf Linux-Instanzen verwalten

Instanzen, die mit Oracle Linux-, CentOS - oder Ubuntu-Images gestartet werden, verwenden ein SSH-Schlüsselpaar anstelle eines Kennworts zur Authentifizierung eines Remotebenutzers (siehe Sicherheitszugangsdaten). Ein Schlüsselpaar enthält einen Private und einen Public Key. Sie behalten den Private Key auf Ihrem Rechner und stellen den Public Key beim Erstellen einer Instanz bereit. Wenn Sie eine SSH-Verbindung zur Instanz herstellen, geben Sie den Pfad zum Private Key im SSH-Befehl an.

Wenn Sie mit OpenSSH eine Verbindung zu einer Instanz herstellen, können Sie ein Schlüsselpaar verwenden, das von Oracle Cloud Infrastructure zum Zeitpunkt der Erstellung der Instanz generiert wird. OpenSSH muss auf UNIX-basierten Systemen (einschließlich Linux und OS X), Windows 10 und Windows Server 2019 installiert sein.

Wichtig

Oracle speichert keine Kopie des von der Konsole generierten Private Key. Daher ist eine Kopie des Private Keys erforderlich, um eine Verbindung zur Instanz herzustellen. Ohne den Private Key können Sie nur eine Verbindung zu einer Instanz herstellen, indem Sie eine neue Instanz mit einem neuen Private Key erstellen.

Sie können beliebig viele Schlüsselpaare oder nur ein Schlüsselpaar für alle oder mehrere Instanzen verwenden.

Um Ihre eigenen Schlüsselpaare zu erstellen, können Sie Drittanbietertools wie OpenSSH auf UNIX-Systemen (einschließlich Linux, Solaris, BSD und OS X) oder den PuTTY-Schlüsselgenerator unter Windows verwenden.

Achtung

Jeder, der Zugriff auf den Private Key hat, kann sich bei der Instanz anmelden. Speichern Sie den Private Key an einem sicheren Speicherort.

Erforderliches SSH-Public-Key-Format

Wenn Sie ein eigenes Schlüsselpaar angeben, muss dieses das OpenSSH-Format verwenden.

Ein Public Key hat das folgende Format:

<key_type> <public_key> <optional_comment>

Beispiel: Ein RSA-Public Key sieht wie folgt aus:

ssh-rsa AAAAB3BzaC1yc2EAAAADAQABAAABAQD9BRwrUiLDki6P0+jZhwsjS2muM...
                    
                    ...yXDus/5DQ== rsa-key-20201202

Für Plattformimages werden diese SSH-Schlüsseltypen unterstützt: RSA, DSA, DSS, ECDSA und Ed25519. Wenn Sie ein eigenes Image verwenden (Bring Your Own Image), müssen Sie die unterstützten SSH-Schlüsseltypen verwalten.

Bei RSA-, DSS- und DSA-Schlüsseln wird eine Mindestgröße von 2048 Bit empfohlen. Für ECDSA-Schlüssel wird eine Größe von mindestens 256 Bit empfohlen.

Bevor Sie beginnen

  • Wenn Sie ein UNIX-System verwenden, ist das Utility ssh-keygen wahrscheinlich bereits installiert. Um zu bestimmen, ob das Utility installiert ist, geben Sie ssh-keygen in die Befehlszeile ein. Wenn es nicht installiert ist, können Sie OpenSSH für UNIX von http://www.openssh.com/portable.html herunterladen und installieren.
  • Wenn Sie ein Windows-Betriebssystem verwenden, benötigen Sie PuTTY und den PuTTY-Schlüsselgenerator. Laden Sie PuTTY und PuTTYgen von http://www.putty.org herunter, und installieren Sie sie.
  • Stellen Sie sicher, dass die Berechtigungen für den SSH-Ordner und die SSH-Schlüssel folgendermaßen lauten:
    • Der SSH-Ordner muss 700 sein
    • Public Keys müssen 644 sein.
    • Private Keys müssen 400 sein.

SSH-Schlüsselpaare in der Befehlszeile erstellen

  1. Öffnen Sie eine Shell oder ein Terminal zur Eingabe der Befehle.
  2. Geben Sie in der Eingabeaufforderung ssh-keygen und bei Aufforderung einen Namen für den Schlüssel ein. Optional können Sie eine Passphrase angeben.

    Die Schlüssel werden mit den Standardwerten erstellt: RSA-Schlüssel mit 2.048 Bit.

Sie können auch einen vollständigen ssh-keygen-Befehl eingeben. Beispiel:

ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>

Die Befehlsargumente werden in der folgenden Tabelle gezeigt:

Argument Beschreibung
-t rsa RSA-Algorithmus verwenden.
-N "<passphrase>"

Eine Passphrase zum Schutz des Schlüssels (wie ein Kennwort). Wenn Sie keine Passphrase festlegen möchten, geben Sie nichts zwischen den Anführungszeichen ein.

Eine Passphrase ist nicht erforderlich. Sie können sie als Sicherheitsmaßnahme angeben, um den Private Key vor unbefugter Verwendung zu schützen. Wenn Sie eine Passphrase verwenden, müssen Sie beim Herstellen der Verbindung zur Instanz die Passphrase angeben. Dadurch wird es normalerweise schwieriger, die Verbindung zu einer Instanz zu automatisieren.

-b 2048

2.048-Bit-Schlüssel generieren. Sie müssen diesen Wert nicht festlegen, wenn 2.048 akzeptabel ist, da 2.048 der Standardwert ist.

Für SSH-2-RSA werden mindestens 2.048 Bit empfohlen.

-C "<key_name>" Ein Name zur Identifizierung des Schlüssels.
-f <path/root_name> Der Speicherort, in dem das Schlüsselpaar gespeichert wird, sowie der Root-Name für die Dateien.

SSH-Schlüsselpaare mit dem PuTTY-Schlüsselgenerator erstellen

  1. Suchen Sie puttygen.exe im PuTTY-Ordner auf Ihrem Rechner, z.B. C:\Programme (x86)\PuTTY. Doppelklicken Sie auf puttygen.exe, um es zu öffnen.
  2. Geben Sie als Schlüsseltyp SSH-2-RSA und als Schlüsselgröße 2.048 Bit an:

    • Bestätigen Sie im Menü Key, dass der Standardwert SSH-2 RSA key ausgewählt ist.
    • Übernehmen Sie für den zu generierenden Schlüsseltyp unter Type of key to generate den Standardschlüsseltyp RSA.
    • Setzen Sie die Anzahl der Bit in einem generierten Schlüssel unter Number of bits in a generated key auf 2048, wenn diese noch nicht festgelegt ist.
  3. Klicken Sie auf Generate.
  4. Bewegen Sie die Maus um den leeren Bereich im PuTTY-Fenster, um zufällige Daten im Schlüssel zu generieren.

    Wenn der Schlüssel generiert wurde, wird er unter Public key for pasting into OpenSSH authorized_keys file angezeigt.

  5. Unter Key comment wird ein Schlüsselkommentar einschließlich Datum und Zeitstempel generiert. Sie können den Standardkommentar beibehalten oder durch einen eigenen beschreibenden Kommentar ersetzen.
  6. Lassen Sie das Feld Key passphrase leer.
  7. Klicken Sie auf Save private key und dann in der Eingabeaufforderung auf Yes, um den Schlüssel ohne Passphrase zu speichern.

    Das Schlüsselpaar wird im PuTTY Private Key-(PPK-)Format gespeichert. Dieses proprietäre Format funktioniert nur mit dem PuTTY-Toolset.

    Sie können den Schlüssel beliebig benennen, müssen aber die Dateierweiterung ppk verwenden. Beispiel: mykey.ppk.

  8. Wählen Sie den gesamten generierten Schlüssel aus, der unter Public key for pasting into OpenSSH authorized_keys file angezeigt wird, kopieren Sie ihn mit STRG + C, fügen Sie ihn in eine Textdatei ein, und speichern Sie die Datei dann in demselben Speicherort wie den Private Key.

    (Verwenden Sie nicht Save public key, da der Schlüssel damit nicht im OpenSSH-Format gespeichert wird.)

    Sie können den Schlüssel zwar beliebig benennen, sollten aber aus Gründen der Konsistenz denselben Namen wie den des Private Keys und die Dateierweiterung pub verwenden. Beispiel: mykey.pub.

  9. Schreiben Sie die Namen und den Speicherort Ihrer Public-Key- und Private-Key-Datei auf. Sie benötigen den Public Key beim Starten einer Instanz. Sie benötigen den Private Key, um über SSH auf die Instanz zuzugreifen.

Nach dem Erstellen eines Schlüsselpaares können Sie jetzt Instanzen wie unter Instanzen erstellen beschrieben starten.