Autorisation SSH
Voyez comment cloner le référentiel à l'aide de SSH.
Pour cloner le référentiel à l'aide d'une clé SSH, vous avez besoin d'une paire de clés SSH. Pour obtenir la liste des empreintes SSH de clé publique et des régions correspondantes applicables pour la gestion du code source DevOps (SCM), voir Empreintes SSH. Vous pouvez être un utilisateur GIA ou un utilisateur fédéré. Les utilisateurs GIA peuvent faire partie d'un domaine. Un domaine d'identité est un conteneur utilisé pour la gestion des utilisateurs et des rôles.
Configuration de l'authentification SSH
- Générez une paire de clés SSH. Vous pouvez utiliser une paire de clés OpenSSH ou une clé de signature d'API OCI. Note
Si vous avez déjà une paire de clés SSH, vous pouvez l'utiliser. Par défaut, les clés SSH sont stockées dans le répertoire~/.ssh
du système.Pour générer une paire de clés SSH, procédez de la façon suivante :
- Ouvrez une fenêtre de terminal.
-
Entrez la commande suivante :
ssh-keygen -t rsa -C "<user.alias>@"
- Acceptez les valeurs par défaut lorsque vous y êtes invité.
- La commande crée une clé RSA 3072 bits à utiliser avec SSH.
- Vous pouvez donner une phrase secrète à la clé privée lorsque vous y êtes invité à des fins de sécurité.
- La commande produit deux clés nécessaires pour l'authentification SSH : clé privée ( id_rsa ) et clé publique ( id_rsa.pub ). Conservez la clé privée en sécurité et ne la partagez pas.
- Copiez le contenu du fichier de clé publique. Si vous utilisez une clé au format OpenSSH, utilisez la commande suivante :
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pkcs8 | pbcopy
Si vous utilisez une clé de signature d'API OCI, utilisez la commande suivante :cat ~/.oci/oci_api_key_public.pem | pbcopy
- Chargez la clé publique vers OCI et associez-la à l'utilisateur IAM. Procédez de la façon suivante :
- Ouvrez le menu de navigation et cliquez sur Identité et sécurité. Sous Identité, cliquez sur Utilisateurs. Une liste des utilisateurs de la location s'affiche.
- Sélectionnez l'utilisateur qui servira pour l'authentification du service Git.
- Cliquez sur Clés d'API sous Ressources dans le menu de gauche.
- Cliquez sur le bouton Ajouter une clé d'API, sélectionnez l'option Coller la clé publique et collez le contenu de la clé publique.
- Cliquez sur le bouton Ajouter.
Configuration des opérations Git
Vous pouvez configurer le nom d'utilisateur Git dans le fichier de configuration OpenSSH ou l'intégrer dans l'URL SSH.
- Pour configurer le nom d'utilisateur Git dans le fichier de configuration OpenSSH, procédez de la façon suivante :
- Vérifiez si le fichier
~/.ssh/config
existe dans l'emplacement par défaut.open ~/.ssh/config
- Si le fichier n'existe pas, créez-le.
touch ~/.ssh/config
- Vous devez modifier le fichier de configuration SSH
~/.ssh/config
pour spécifier l'utilisateur et la clé à utiliser pour l'opérationgit clone
. Le format de l'entrée d'hôte dans le fichier de configuration est le suivant :Host <CodeRepositoryHost> User <userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
Le format de fichier pour une partie d'utilisateur GIA d'un domaine est le suivant :Host <CodeRepositoryHost> User <domainName>/<userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
L'utilisateur SSH est une combinaison du nom d'utilisateur de connexion et du nom de la location. Par exemple, si vous utilisez un utilisateur fédéré, l'utilisateur SSH du référentiel de code pour Git estFederation/userName@tenancyName
. Dans la chaîne d'utilisateur :Federation
(facultatif) est le fournisseur d'identités fédéré.userName
est l'utilisateur qui se connecte à la console OCI.tenancyName
est le nom de la location, que vous pouvez trouver dans la console OCI.
oracleidentitycloudservice/the-product-manager-user@my-tenancy
Il n'est pas nécessaire d'encoder la chaîne en URL, ni d'indiquer un caractère d'échappement. Par exemple, pour un référentiel de code dans la région Ashburn, l'entrée de configuration de l'hôte est la suivante :Host devops.scmservice.us-ashburn-1.oci.oraclecloud.com User the-product-manager-user@my-tenancy IdentityFile ~/.ssh/id_rsa
Pour toutes les régions OCI, vous pouvez utiliser un caractère générique pour l'hôte, par exemple
Host devops.scmservice.*.oci.oraclecloud.com
.
- Vérifiez si le fichier
-
Pour configurer le nom d'utilisateur Git dans l'URL SSH, procédez de la façon suivante :
- Ajoutez le nom d'utilisateur Git à l'URL SSH :
ssh://<userName>@<tenancyName>@<sshUrl>
URL SSH pour un utilisateur d'un domaine :ssh://<domainName>/<userName>@<tenancyName>@<sshUrl>
- Ajouter la clé privée SSH à SSH-agent et stocker la phrase secrète dans la chaîne de clés.
ssh-add -K ~/.ssh/id_rsa
- Ajoutez le nom d'utilisateur Git à l'URL SSH :
Clonage du référentiel
- Sur la ligne de commande de l'ordinateur local, remplacez l'emplacement du répertoire de travail par celui où vous voulez cloner le référentiel.
- Pour cloner le référentiel, exécutez la commande
git clone
avec l'URL SSH que vous avez copiée à partir de la console Cloud.Par exemple,
git clone ssh://devops.scmservice.us-ashburn-1.oci.oraclecloud.com/namespaces/MY-TENANCY/projects/PROJECT-NAME/repositories/REPO-NAME