SSH-Authentifizierung

Erfahren Sie, wie Sie das Repository mit SSH klonen.

Um das Repository mit einem SSH-Schlüssel zu klonen, benötigen Sie ein SSH-Schlüsselpaar. Eine Liste der SSH-Fingerprints mit Public Key und der entsprechenden Regionen, die für das DevOps-Quellcodemanagement (SCM) gelten, finden Sie unter SSH-Fingerprints. Sie können ein IAM-Benutzer oder ein föderierter Benutzer sein. IAM-Benutzer können Teil einer Domain sein. Eine Identitätsdomain ist ein Container zur Verwaltung von Benutzern und Rollen.

SSH-Authentifizierung einrichten

  1. Generieren Sie ein SSH-Schlüsselpaar. Sie können das OpenSSH-Schlüsselpaar oder einen OCI-API-Signaturschlüssel verwenden.
    Hinweis

    Wenn Sie bereits über ein SSH-Schlüsselpaar verfügen, können Sie dieses verwenden. Standardmäßig werden SSH-Schlüssel im Verzeichnis ~/.ssh des Systems gespeichert.

    So generieren Sie ein SSH-Schlüsselpaar:

    1. Öffnen Sie ein Terminalfenster.
    2. Geben Sie folgenden Befehl ein:

      ssh-keygen -t rsa -C "<user.alias>@"
    3. Übernehmen Sie die Standardwerte, wenn Sie dazu aufgefordert werden.
    4. Der Befehl erstellt einen 3072-Bit-RSA-Schlüssel für die Verwendung mit SSH.
    5. Sie können eine Passphrase für den Private Key angeben, wenn Sie als Sicherheitsmaßnahme dazu aufgefordert werden.
    6. Der Befehl erzeugt zwei Schlüssel, die für die SSH-Authentifizierung erforderlich sind: Private Key (id_rsa) und Public Key (id_rsa.pub). Schützen Sie den Private Key, und geben Sie ihn nicht weiter.
  2. Kopieren Sie den Inhalt der Public-Key-Datei.
    Wenn Sie den Schlüssel im OpenSSH-Format verwenden:
    ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pkcs8 | pbcopy
    Wenn Sie den OCI-API-Signaturschlüssel verwenden, geben Sie den folgenden Befehl ein:
    cat ~/.oci/oci_api_key_public.pem | pbcopy
  3. Laden Sie den Public Key in OCI hoch, und verknüpfen Sie ihn mit dem IAM-Benutzer. Führen Sie die folgenden Schritte aus:
    1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Benutzer. Eine Liste der Benutzer im Mandanten wird angezeigt.
    2. Wählen Sie den Benutzer aus, den Sie für die Git-Serviceauthentifizierung verwenden möchten.
    3. Klicken Sie im linken Menü unter "Ressourcen" auf API-Schlüssel.
    4. Klicken Sie auf die Schaltfläche API-Schlüssel hinzufügen, wählen Sie die Option Public Key einfügen aus, und fügen Sie den Public Key-Inhalt ein.
    5. Klicken Sie auf die Schaltfläche Hinzufügen.

Git-Vorgänge einrichten

Sie können den Git-Benutzernamen in der Konfigurationsdatei OpenSSH einrichten oder den Git-Benutzernamen in die SSH-URL einbetten.

  1. So richten Sie den Git-Benutzernamen in der Konfigurationsdatei OpenSSH ein:
    1. Prüfen Sie, ob die Datei ~/.ssh/config im Standardspeicherort vorhanden ist.
      open ~/.ssh/config
    2. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
      touch ~/.ssh/config
    3. Sie müssen die SSH-Konfigurationsdatei ~/.ssh/config bearbeiten, um den Benutzer und den Schlüssel anzugeben, die für den Vorgang git clone verwendet werden sollen. Das Format für den Hosteintrag in der Konfigurationsdatei lautet:
      
      Host <CodeRepositoryHost>
        User <userName>@<tenancyName>
        IdentityFile  <PathToYourSSHPrivateKey>
      Dateiformat für einen IAM-Benutzertyp einer Domain:
      Host <CodeRepositoryHost>
        User <domainName>/<userName>@<tenancyName>
        IdentityFile  <PathToYourSSHPrivateKey>
      Der SSH-Benutzer ist eine Kombination aus Benutzername und Mandantenname. Beispiel: Wenn Sie einen föderierten Benutzer verwenden, lautet der SSH-Benutzer des Code-Repositorys für Git Federation/userName@tenancyName. Für die Benutzerzeichenfolge gilt dabei Folgendes:
      • Federation ist optional. Es handelt sich dabei um den föderierten Identitätsprovider.
      • userName ist der Benutzer, der sich bei der OCI-Konsole anmeldet.
      • tenancyName ist der Name des Mandanten, der in der OCI-Konsole angezeigt wird.
      Beispiel: oracleidentitycloudservice/the-product-manager-user@my-tenancy
      Die SSH-Benutzerzeichenfolge muss nicht URL-codiert oder maskiert sein. Beispiel: Für ein Code-Repository in der Region Ashburn lautet der Hostkonfigurationseintrag wie folgt:
      Host devops.scmservice.us-ashburn-1.oci.oraclecloud.com
          User the-product-manager-user@my-tenancy
          IdentityFile ~/.ssh/id_rsa

      Für alle OCI-Regionen können Sie einen Platzhalter für den Host verwenden, z.B. Host devops.scmservice.*.oci.oraclecloud.com.

  2. So richten Sie den Git-Benutzernamen in der SSH-URL ein:
    1. Fügen Sie den Git-Benutzernamen in der SSH-URL hinzu:
      ssh://<userName>@<tenancyName>@<sshUrl>
      SSH-URL für einen Benutzer in einer Domain:
      ssh://<domainName>/<userName>@<tenancyName>@<sshUrl>
    2. Fügen Sie den privaten SSH-Schlüssel dem SSH-agent hinzu, und speichern Sie die Passphrase in der Schlüsselkette.
      ssh-add -K ~/.ssh/id_rsa

Repository klonen

  1. Ändern Sie in der Befehlszeile des lokalen Rechners den Speicherort des Arbeitsverzeichnisses, in dem Sie das Repository klonen möchten.
  2. Um das Repository zu klonen, führen Sie den Befehl git clone mit der SSH-URL aus, die Sie aus der Cloud-Konsole kopiert haben.

    Beispiel: git clone ssh://devops.scmservice.us-ashburn-1.oci.oraclecloud.com/namespaces/MY-TENANCY/projects/PROJECT-NAME/repositories/REPO-NAME