Procedura di configurazione per le connessioni SSH aiAWS CodeCommit repository su Linux, macOS o Unix - AWS CodeCommit

AWS CodeCommit non è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Scopri di più»

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Procedura di configurazione per le connessioni SSH aiAWS CodeCommit repository su Linux, macOS o Unix

Prima di connettersiCodeCommit per la prima volta, devi completare alcuni passaggi di configurazione iniziali. Dopo aver configurato il computer e ilAWS profilo, puoi connetterti a unCodeCommit repository e clonarlo sul tuo computer (operazione nota anche come creazione di un repository locale). Se non hai mai utilizzato Git, ti consigliamo di consultare le informazioni in Dove posso trovare ulteriori informazioni su Git?.

Fase 1: Configurazione iniziale perCodeCommit

Segui questi passaggi per configurare un account Amazon Web Services, creare un utente IAM e configurare l'accesso aCodeCommit.

Per creare e configurare un utente IAM per l'accessoCodeCommit
  1. Crea un account Amazon Web Services accedendo a http://aws.amazon.com e scegliendo Registrati.

  2. Crea un utente IAM o utilizzane uno esistente nel tuo account Amazon Web Services. Assicurati di avere un ID chiave di accesso e una chiave di accesso segreta associate a quell'utente IAM. Per ulteriori informazioni, consulta Creazione di un utente IAM nell'account Amazon Web Services.

    Nota

    CodeCommit richiede AWS Key Management Service. Se stai utilizzando un utente IAM esistente, assicurati che all'utente non siano associate politiche che neghino espressamente leAWS KMS azioni richieste daCodeCommit. Per ulteriori informazioni, consulta AWS KMSe crittografia.

  3. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  4. Nel riquadro di navigazione della console IAM, scegli Utenti quindi selezionare l'utente IAM che configurare perCodeCommit l'accesso.

  5. Nella scheda Permissions (Autorizzazioni), scegliere Add permissions (Aggiungi autorizzazioni).

  6. In Grant permissions (Concedi autorizzazioni), scegliere Attach existing policies directly (Collega direttamente le policy esistenti).

  7. Dall'elenco di policy, selezionare AWSCodeCommitPowerUser o un'altra policy gestita per l'accesso CodeCommit. Per ulteriori informazioni, consulta AWS politiche gestite per CodeCommit.

    Dopo aver selezionato la policy da allegare, scegli Avanti: Revisione per esaminare l'elenco delle policy da allegare all'utente IAM. Se l'elenco è corretto, scegliere Add permissions (Aggiungi autorizzazioni).

    Per ulteriori informazioni sulle policy gestite CodeCommit e sulla condivisione dell'accesso ai repository con altri gruppi e utenti, consulta Condividere un repository e Autenticazione e controllo degli accessi per AWS CodeCommit.

Nota

Per utilizzare i comandi AWS CLI con CodeCommit, installa la AWS CLI. Per ulteriori informazioni, consulta Guida di riferimento alla riga di comando.

Fase 2: installazione di Git

Per lavorare con file, commit e altre informazioni neiCodeCommit repository, devi installare Git sul tuo computer locale. CodeCommit supporta le versioni di Git 1.7.9 e successive. La versione 2.28 di Git supporta la configurazione del nome del ramo per i commit iniziali. Si consiglia di utilizzare una versione recente di Git.

Per installare Git, consigliamo siti Web come Git Downloads.

Nota

Git è una piattaforma in evoluzione e regolarmente aggiornata. Talvolta, la modifica di una funzionalità potrebbe influire sul funzionamento con CodeCommit. In caso di problemi con una versione specifica di Git e con CodeCommit, rivedi le informazioni in Risoluzione dei problemi.

Fase 3: Configura le credenziali su Linux, macOS o Unix

SSH e Linux, macOS o Unix: configura le chiavi pubbliche e private per Git eCodeCommit

Per configurare le chiavi pubbliche e private per Git eCodeCommit
  1. Dal terminale del computer locale, esegui il comando ssh-keygen e segui le indicazioni per salvare il file nella directory .ssh del tuo profilo.

    Nota

    Assicurati di chiedere all'amministratore di sistema dove archiviare i file delle chiavi e quale schema di denominazione dei file devi utilizzare.

    Ad esempio:

    $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user-name/.ssh/id_rsa): Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-user-name/.ssh/codecommit_rsa Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter> Enter same passphrase again: <Type the passphrase again, and then press Enter> Your identification has been saved in /home/user-name/.ssh/codecommit_rsa. Your public key has been saved in /home/user-name/.ssh/codecommit_rsa.pub. The key fingerprint is: 45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-name The key's randomart image is: +--[ RSA 2048]----+ | E.+.o*.++| | .o .=.=o.| | . .. *. +| | ..o . +..| | So . . . | | . | | | | | | | +-----------------+

    Questo genera:

    • Il file codecommit_rsa, ovvero il file della chiave privata.

    • Il file codecommit_rsa.pub, ovvero il file della chiave pubblica.

    Suggerimento

    Per impostazione predefinita,ssh-keygen genera una chiave a 2048 bit. È possibile utilizzare i parametri -t e -b per specificare il tipo e la lunghezza della chiave. Se si desidera una chiave a 4096 bit in formato rsa, è necessario specificarla eseguendo il comando con i seguenti parametri:

    ssh-keygen -t rsa -b 4096

    Per ulteriori informazioni sui formati e sulle lunghezze richieste per le chiavi SSH, consulta Utilizzo di IAM conCodeCommit.

  2. Esegui il seguenti comando per visualizzare il valore del file della chiave pubblica (codecommit_rsa.pub):

    cat ~/.ssh/codecommit_rsa.pub

    Copia questo valore. Saranno simili a quanto segue:

    ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137
  3. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

    Nota

    È possibile visualizzare direttamente e gestire le proprie credenziali CodeCommit in My Security Credentials (Le mie credenziali di sicurezza). Per ulteriori informazioni, consulta Visualizza e gestisci le tue credenziali.

  4. Nel riquadro di navigazione della console IAM, scegli Utenti quindi il tuo utente IAM, scegli il tuo utente IAM, scegli Utenti.

  5. Nella pagina dei dettagli dell'utente, seleziona la scheda Security Credentials (Credenziali di sicurezza), quindi Upload SSH public key (Carica chiave pubblica SSH).

  6. Incolla il contenuto della chiave pubblica SSH nel campo, quindi scegli Upload SSH public key (Carica chiave pubblica SSH).

  7. Copia o salva le informazioni in SSH Key ID (ID chiave SSH) (ad esempio, APKAEIBAERJR2EXAMPLE).

    L'ID chiave SSH nella console IAM
    Nota

    Se disponi di più ID delle chiavi SSH caricati, le chiavi sono elencate in ordine alfabetico per ID della chiave, non per data di caricamento. Assicurati di aver copiato l'ID della chiave associato alla data di caricamento corretta.

  8. Nel computer locale, utilizza un editor di testo per creare un file config nella directory ~/.ssh, quindi aggiungi le seguenti righe al file, dove il valore di User è l'ID della chiave SSH copiato in precedenza:

    Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa
    Nota

    Se hai utilizzato per il file della chiave privata un nome diverso da codecommit_rsa, assicurati di utilizzarlo qui.

    Puoi configurare l'accesso SSH ai repository in più account Amazon Web Services. Per ulteriori informazioni, consultaRisoluzione dei problemi relativi alle connessioni SSH aAWS CodeCommit.

    Salva e attribuisci un nome al file config.

  9. Dal terminale, esegui il seguente comando per modificare le autorizzazioni per il file config:

    chmod 600 config
  10. Esegui il seguente comando per verificare la configurazione SSH:

    ssh git-codecommit.us-east-2.amazonaws.com

    Ti viene chiesto di confermare la connessione perché nongit-codecommit.us-east-2.amazonaws.com è ancora inclusa nel file hosts noto. L'impronta digitale delCodeCommit server viene visualizzata come parte della verifica (a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5eper MD5 o3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ per SHA256).

    Nota

    CodeCommitle impronte digitali dei server sono uniche per tuttiRegione AWS. Per visualizzare le impronte digitali del server per unRegione AWS, vedereImpronte digitali del server per CodeCommit.

    Dopo avere verificato la connessione, dovrebbe venire visualizzato un messaggio di conferma dell'avvenuta aggiunta del server ai file hosts noti e un messaggio dell'avvenuta connessione. Se non vedi un messaggio di successo, verifica di aver salvato ilconfig file nella directory ~/.ssh dell'utente IAM a cui hai configurato l'accessoCodeCommit e di aver specificato il file di chiave privata corretto.

    Per informazioni utili a risolvere i problemi, eseguire ilssh comando con il-v parametro. Ad esempio:

    ssh -v git-codecommit.us-east-2.amazonaws.com

    Per informazioni sulla risoluzione dei problemi di connessione, consulta Risoluzione dei problemi relativi alle connessioni SSH aAWS CodeCommit.

Fase 4: Connect allaCodeCommit console e clonare il repository

Se un amministratore ha già inviato il nome e i dettagli di connessione del repository CodeCommit, puoi ignorare questa fase e clonare direttamente il repository.

Per effettuare la connessione a un repository CodeCommit
  1. Apri laCodeCommit console all'indirizzo https://console.aws.amazon.com/codesuite/codecommit/home.

  2. Nel selettore della regione, scegliRegione AWS dove è stato creato il repository. I repository sono specifici per unRegione AWS. Per ulteriori informazioni, consulta Regioni ed endpoint di connessione Git.

  3. Trova e seleziona nell'elenco il repository che intendi collegare. Scegliere Clone URL (URL clone), quindi scegliere il protocollo che si desidera utilizzare durante la clonazione o la connessione al repository. In questo modo si copia l'URL del clone.

    • Copia l'URL HTTPS se utilizzi le credenziali Git con il tuo utente IAM o l'helper per le credenziali incluso inAWS CLI.

    • Copia l'URL HTTPS (GRC) se usi il comando git-remote-codecommit sul computer locale.

    • Copia l'URL SSH se stai usando una key pair pubbliche/private SSH con il tuo utente IAM.

    Nota

    Se visualizzi una pagina di benvenuto anziché un elenco di repository, non ci sono repository associati al tuoAWS account nel punto inRegione AWS cui hai effettuato l'accesso. Per creare un repository, consulta Creare un repository AWS CodeCommit oppure segui la procedura del tutorial Guida introduttiva a Git e CodeCommit.

  4. Apri un terminale . Dalla directory /tmp, esegui il comando git clone con l'URL SSH copiato per clonare il repository. Ad esempio, per clonare un repository denominato MyDemoRepoin un repository locale denominato my-demo-reponella regione Stati Uniti orientali (Ohio):

    git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
    Nota

    Se la verifica della connessione ha avuto esito positivo, a differenza del comando di clonazione, potresti non disporre dell'accesso richiesto al file config oppure un'altra impostazione potrebbe essere in conflitto con il file config. Prova a effettuare nuovamente la connessione, questa volta includendo nel comando l'ID della chiave SSH. Ad esempio:

    git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    Per ulteriori informazioni, consulta Errore di accesso: la chiave pubblica viene caricata correttamente su IAM ma la connessione non riesce su sistemi Linux, macOS o Unix.

    Per ulteriori informazioni su come connettersi ai repository, consulta Connect al CodeCommit repository clonando il repository.

Fasi successive

Hai completato i prerequisiti. Segui i passaggiIniziare con CodeCommit per iniziare a utilizzareCodeCommit.