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ü, und klicken Sie auf Identität und Sicherheit. Wählen Sie unter Identität die Option Domains aus. Die Listenseite Domains wird geöffnet. Alle Identitätsdomains im ausgewählten Compartment werden in einer Tabelle angezeigt.
- 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