Autorizzazione SSH
Informazioni su come duplicare il repository utilizzando SSH.
Per duplicare il repository utilizzando una chiave SSH, è necessaria una coppia di chiavi SSH. Per un elenco delle impronte digitali SSH a chiave pubblica e delle aree corrispondenti applicabili per la gestione del codice sorgente DevOps (SCM), vedere Impronte digitali SSH. È possibile essere un utente IAM o un utente federato. Gli utenti IAM possono far parte di un dominio. Un dominio di Identity è un contenitore per la gestione di utenti e ruoli.
Impostazione dell'autenticazione SSH
- Generare una coppia di chiavi SSH. È possibile utilizzare una coppia di chiavi OpenSSH o una chiave di firma API OCI. Nota
Se si dispone già di una coppia di chiavi SSH, è possibile utilizzare la stessa. Per impostazione predefinita, le chiavi SSH vengono memorizzate nella directory~/.ssh
del sistema.Per generare una coppia di chiavi SSH, attenersi alla procedura riportata di seguito.
- Aprire una finestra di terminale.
-
Immettere il seguente comando:
ssh-keygen -t rsa -C "<user.alias>@"
- Accettare i valori predefiniti quando richiesto.
- Il comando crea una chiave RSA a 3072 bit da utilizzare con SSH.
- È possibile fornire una passphrase per la chiave privata quando viene richiesta la sicurezza.
- Il comando produce due chiavi necessarie per l'autenticazione SSH: la chiave privata (id_rsa) e la chiave pubblica (id_rsa.pub). Mantieni la chiave privata in tutta sicurezza e non condividerla.
- Copiare il contenuto del file di chiavi pubbliche. Se si utilizza la chiave di formato OpenSSH, utilizzare il comando seguente:
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pkcs8 | pbcopy
Se si utilizza la chiave di firma API OCI, utilizzare il comando seguente:cat ~/.oci/oci_api_key_public.pem | pbcopy
- Caricare la chiave pubblica in OCI e associarla all'utente IAM. Effettuare le operazioni riportate di seguito.
- Aprire il menu di navigazione e fare clic su Identità e sicurezza. In Identità fare clic su Utenti. Viene visualizzata una lista di utenti nella tenancy.
- Selezionare l'utente che si desidera utilizzare per l'autenticazione del servizio Git.
- Fare clic su Chiavi API in Risorse nel menu a sinistra.
- Fare clic sul pulsante Aggiungi chiave API, selezionare l'opzione Incolla chiave pubblica e incollare il contenuto della chiave pubblica.
- Fare clic sul pulsante Aggiungi.
Impostazione di Git Operations
È possibile impostare il nome utente Git nel file di configurazione OpenSSH o incorporare il nome utente Git nell'URL SSH.
- Per impostare il nome utente Git nel file di configurazione OpenSSH, attenersi alla procedura indicata di seguito.
- Controllare che il file
~/.ssh/config
esista nella posizione predefinita.open ~/.ssh/config
- Se il file non esiste, crearlo.
touch ~/.ssh/config
- È necessario modificare il file di configurazione SSH
~/.ssh/config
per specificare l'utente e la chiave da utilizzare per l'operazionegit clone
. Di seguito è riportato il formato per la voce host nel file di configurazione.Host <CodeRepositoryHost> User <userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
Il formato file per una parte utente IAM di un dominio è:Host <CodeRepositoryHost> User <domainName>/<userName>@<tenancyName> IdentityFile <PathToYourSSHPrivateKey>
L'utente SSH è una combinazione del nome utente di login e del nome della tenancy. Ad esempio, se si utilizza un utente federato, l'utente SSH del repository di codici per Git èFederation/userName@tenancyName
. Nella stringa utente:Federation
è facoltativo ed è il provider di identità federato.userName
è l'utente che accede a OCI Console.tenancyName
è il nome della tenancy, che è possibile trovare nella console OCI.
oracleidentitycloudservice/the-product-manager-user@my-tenancy
Non è necessario che la stringa utente SSH sia codificata o con escape per l'URL. Ad esempio, per un repository di codici nell'area Ashburn, la voce di configurazione host è:Host devops.scmservice.us-ashburn-1.oci.oraclecloud.com User the-product-manager-user@my-tenancy IdentityFile ~/.ssh/id_rsa
Per tutte le aree OCI, è possibile utilizzare un carattere jolly per l'host, ad esempio
Host devops.scmservice.*.oci.oraclecloud.com
.
- Controllare che il file
-
Per impostare il nome utente Git nell'URL SSH, attenersi alla procedura indicata di seguito.
- Aggiungere il nome utente Git nell'URL SSH:
ssh://<userName>@<tenancyName>@<sshUrl>
URL SSH per un utente in un dominio:ssh://<domainName>/<userName>@<tenancyName>@<sshUrl>
- Aggiungere la chiave privata SSH a SSH-agent e memorizzare la passphrase nel keychain.
ssh-add -K ~/.ssh/id_rsa
- Aggiungere il nome utente Git nell'URL SSH:
Duplicazione del repository
- Nella riga di comando del computer locale, modificare la posizione della directory di lavoro in cui si desidera duplicare il repository.
- Per duplicare il repository, eseguire il comando
git clone
con l'URL SSH copiato dalla console cloud.Ad esempio,
git clone ssh://devops.scmservice.us-ashburn-1.oci.oraclecloud.com/namespaces/MY-TENANCY/projects/PROJECT-NAME/repositories/REPO-NAME