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
- 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:
- Öffnen Sie ein Terminalfenster.
-
Geben Sie folgenden Befehl ein:
ssh-keygen -t rsa -C "<user.alias>@"
- Übernehmen Sie die Standardwerte, wenn Sie dazu aufgefordert werden.
- Der Befehl erstellt einen 3072-Bit-RSA-Schlüssel für die Verwendung mit SSH.
- Sie können eine Passphrase für den Private Key angeben, wenn Sie als Sicherheitsmaßnahme dazu aufgefordert werden.
- 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.
- 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
- Laden Sie den Public Key in OCI hoch, und verknüpfen Sie ihn mit dem IAM-Benutzer. Führen Sie die folgenden Schritte aus:
- Ö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.
- Wählen Sie den Benutzer aus, den Sie für die Git-Serviceauthentifizierung verwenden möchten.
- Klicken Sie im linken Menü unter "Ressourcen" auf API-Schlüssel.
- 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.
- 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.
- So richten Sie den Git-Benutzernamen in der Konfigurationsdatei OpenSSH ein:
- Prüfen Sie, ob die Datei
~/.ssh/config
im Standardspeicherort vorhanden ist.open ~/.ssh/config
- Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
touch ~/.ssh/config
- Sie müssen die SSH-Konfigurationsdatei
~/.ssh/config
bearbeiten, um den Benutzer und den Schlüssel anzugeben, die für den Vorganggit 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 GitFederation/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.
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
.
- Prüfen Sie, ob die Datei
-
So richten Sie den Git-Benutzernamen in der SSH-URL ein:
- 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>
- 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
- Fügen Sie den Git-Benutzernamen in der SSH-URL hinzu:
Repository klonen
- Ändern Sie in der Befehlszeile des lokalen Rechners den Speicherort des Arbeitsverzeichnisses, in dem Sie das Repository klonen möchten.
- 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