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~/.sshdes 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 | pbcopyWenn 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ü in der Oracle Cloud-Konsole, und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Domains aus. Möglicherweise müssen Sie das Compartment ändern, um die gewünschte Domain zu finden.
- Domain auswählen. Die Seite Domaindetails wird geöffnet.
- Wählen Sie Benutzerverwaltung aus. Alle der Domäne zugeordneten Benutzer werden aufgelistet.
- Wählen Sie den Benutzernamen aus, den Sie für die Git-Serviceauthentifizierung verwenden möchten. Die Seite Benutzerdetails wird geöffnet.
- Wählen Sie API-Schlüssel aus.
- Wählen Sie API-Schlüssel hinzufügen aus, wählen Sie die Option Public Key einfügen aus, und fügen Sie Public-Key-Inhalt hinzu.
- Klicken Sie auf 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/configim 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/configbearbeiten, um den Benutzer und den Schlüssel anzugeben, die für den Vorganggit cloneverwendet 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:-
Federationist optional. Es handelt sich dabei um den föderierten Identitätsprovider. -
userNameist der Benutzer, der sich bei der OCI-Konsole anmeldet. -
tenancyNameist der Name des Mandanten, der in der OCI-Konsole angezeigt wird.
oracleidentitycloudservice/the-product-manager-user@my-tenancyDie 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_rsaFü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 clonemit 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