Résolution des problèmes de connexion SSH àAWS CodeCommit - AWS CodeCommit

AWS CodeCommit n'est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus »

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes de connexion SSH àAWS CodeCommit

Les informations suivantes vous aident à résoudre les problèmes courants que vous êtes susceptible de rencontrer lors de SSH pour se connecter aux référentiels CodeCommit.

Erreur d'accès : la clé publique est correctement téléchargée vers IAM mais la connexion échoue sur les systèmes Linux, macOS ou Unix

Problème :Lorsque vous essayez de vous connecter à un point de terminaison SSH pour communiquer avec unCodeCommitréférentiel, que ce soit lors du test de la connexion ou du clonage d'un référentiel, la connexion échoue ou est refusée.

Corrections possibles :L'ID de clé SSH attribué à votre clé publique dans IAM n'est peut-être pas associé à votre tentative de connexion. Vous n'avez peut-être pas configuré de fichier de configuration, il se peut que vous n'ayez pas accès au fichier de configuration, qu'un autre paramètre empêche la lecture du fichier de configuration, que vous ayez fourni le mauvais identifiant de clé ou que vous ayez fourni l'ID de l'utilisateur IAM au lieu de l'ID de clé.

L'ID de la clé SSH se trouve dans la console IAM, dans le profil de votre utilisateur IAM :

L'ID de clé SSH dans la console IAM
Note

Si vous avez chargé plusieurs ID de clés SSH, les clés sont citées par ordre alphabétique en fonction de l'ID de clé et non de la date de chargement. Assurez-vous que vous avez copié l'ID de clé associé à la date de chargement correcte.

Essayez de tester la connexion avec la commande suivante :

ssh Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com

Si vous voyez un message de réussite après la confirmation de la connexion, votre ID de clé SSH est valide. Modifiez votre fichier de configuration pour associer vos tentatives de connexion à votre clé publique dans IAM. Si vous ne souhaitez pas modifier votre fichier de configuration, vous pouvez faire précéder toutes les tentatives de connexion à votre référentiel par votre ID de clé SSH. Par exemple, si vous souhaitez cloner un dépôt nomméMyDemoReposans modifier votre fichier de configuration pour associer vos tentatives de connexion, vous devez exécuter la commande suivante :

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

Pour plus d'informations, veuillez consulter Pour les connexions SSH sous Linux, macOS ou Unix.

Erreur d'accès : la clé publique a été téléchargée avec succès sur IAM et SSH a été testée avec succès, mais la connexion échoue sur les systèmes Windows

Problème :Lorsque vous essayez d'utiliser un point de terminaison SSH pour cloner ou communiquer avec unCodeCommitréférentiel, un message d'erreur contenant la phrase apparaîtNo supported authentication methods available.

Correctifs possibles : ce problème vient généralement d'une variable d'environnement système Windows qui ordonne à Windows d'utiliser un autre programme lorsque vous essayez d'utiliser SSH. Par exemple, vous pouvez avoir une variable GIT_SSH qui pointe vers l'un des ensembles d'outils PuTTY (plink.exe). Il peut s'agir d'une configuration héritée ou cela peut être requis pour un ou plusieurs autres programmes installés sur votre ordinateur. Si vous êtes sûr que cette variable d'environnement n'est pas requises, vous pouvez la supprimer en ouvrant les propriétés de votre système.

Pour contourner ce problème, ouvrez un émulateur Bash, puis testez votre connexion SSH à nouveau, mais en incluant GIT_SSH_COMMAND="SSH" comme préfixe. Par exemple, pour cloner un référentiel à l'aide de SSH :

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

Un problème similaire peut se produire si votre version de Windows requiert l'intégration de l'ID de clé SSH dans le cadre de la chaîne de connexion lors de la connexion à l'aide de SSH à la ligne de commande Windows. Réessayez de vous connecter, en incluant cette fois l'ID de clé SSH copié depuis IAM dans le cadre de la commande. Par exemple :

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

Demande de vérification d'authentification : L'authenticité de l'hôte ne peut pas être établie lors de la connexion à un référentiel CodeCommit

Problème :Lorsque vous essayez d'utiliser un point de terminaison SSH pour communiquer avec unCodeCommitdépôt, un message d'avertissement contenant la phraseThe authenticity of host 'host-name' can't be established.

Correctifs possibles : Vos informations d'identification ne sont peut-être pas configurées correctement. Suivez les instructions de Pour les connexions SSH sous Linux, macOS ou Unix ou de Pour des connexions SSH sous Windows.

Si vous avez suivi ces étapes et que le problème persiste, il se peut que quelqu'un essaie deman-in-the-middleattaque. Lorsque le message suivant s'affiche, tapez no, puis appuyez sur Entrée.

Are you sure you want to continue connecting (yes/no)?

Assurez-vous que l'empreinte et la clé publique pour les connexions CodeCommit correspondent à celles documentées dans les rubriques de configuration SSH avant de poursuivre la connexion.

Empreintes digitales publiques pourCodeCommit
de bases de données Type de hachage cryptographique Empreinte digitale
git-codecommit.us-east-2.amazonaws.com MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e
git-codecommit.us-east-2.amazonaws.com SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ
git-codecommit.us-east-1.amazonaws.com MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84
git-codecommit.us-east-1.amazonaws.com SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY
git-codecommit.us-west-2.amazonaws.com MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77
git-codecommit.us-west-2.amazonaws.com SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo
git-codecommit.eu-west-1.amazonaws.com MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d
git-codecommit.eu-west-1.amazonaws.com SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ
git-codecommit.ap-northeast-1.amazonaws.com MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb
git-codecommit.ap-northeast-1.amazonaws.com SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow
git-codecommit.ap-southeast-1.amazonaws.com MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf
git-codecommit.ap-southeast-1.amazonaws.com SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno
git-codecommit.ap-southeast-2.amazonaws.com MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0
git-codecommit.ap-southeast-2.amazonaws.com SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec
git-codecommit.ap-southeast-3.amazonaws.com MD5 64:d9:e0:53:19:4f:a8:91:9a:c3:53:22:a6:a8:ed:a6
git-codecommit.ap-southeast-3.amazonaws.com SHA256 ATdkGSFhpqIu7RqUVT/1RZo6MLxxxUW9NoDVMbAc/6g
git-codecommit.me-central-1.amazonaws.com MD5 bd:fa:e2:f9:05:84:d6:39:6f:bc:d6:8d:fe:de:61:76
git-codecommit.me-central-1.amazonaws.com SHA256 grceUDWubo4MzG1NoaKZKUfrgPvfN3ijliOnQr1lTZA
git-codecommit.eu-central-1.amazonaws.com MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d
git-codecommit.eu-central-1.amazonaws.com SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY
git-codecommit.ap-northeast-2.amazonaws.com MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed
git-codecommit.ap-northeast-2.amazonaws.com SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko
git-codecommit.sa-east-1.amazonaws.com MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51
git-codecommit.sa-east-1.amazonaws.com SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU
git-codecommit.us-west-1.amazonaws.com MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1
git-codecommit.us-west-1.amazonaws.com SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg
git-codecommit.eu-west-2.amazonaws.com MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3
git-codecommit.eu-west-2.amazonaws.com SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs
git-codecommit.ap-south-1.amazonaws.com MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21
git-codecommit.ap-south-1.amazonaws.com SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE
git-codecommit.ap-south-2.amazonaws.com MD5 bc:cc:9f:15:f8:f3:58:a2:68:65:21:e2:23:71:8d:ce
git-codecommit.ap-south-2.amazonaws.com SHA256 Xe0CyZEOvgR5Xa2YUGqf+jn8/Ut7l7nX/CmslSFNEig
git-codecommit.ca-central-1.amazonaws.com MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23
git-codecommit.ca-central-1.amazonaws.com SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w
git-codecommit.eu-west-3.amazonaws.com MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76
git-codecommit.eu-west-3.amazonaws.com SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI
git-codecommit.us-gov-west-1. amazonaws.com MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69
git-codecommit.us-gov-west-1. amazonaws.com SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4
git-codecommit.us-gov-east-1. amazonaws.com MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2
git-codecommit.us-gov-east-1. amazonaws.com SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98
git-codecommit.eu-north-1.amazonaws.com MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4
git-codecommit.eu-north-1.amazonaws.com SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ
git-codecommit.me-south-1.amazonaws.com MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7
git-codecommit.me-south-1.amazonaws.com SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU
git-codecommit.ap-east-1.amazonaws.com MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe
git-codecommit.ap-east-1.amazonaws.com SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0
git-codecommit.cn-north-1.amazonaws.com .cn MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3
git-codecommit.cn-north-1.amazonaws.com .cn SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8
git-codecommit.cn-northwest-1.amazonaws.com .cn MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6
git-codecommit.cn-northwest-1.amazonaws.com .cn SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ
git-codecommit.eu-south-1.amazonaws.com MD5 b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11
git-codecommit.eu-south-1.amazonaws.com SHA256 lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI
git-codecommit.ap-northeast-3.amazonaws.com MD5 25:17:40:da:b9:d4:18:c3:b6:b3:fb:ed:1c:20:fe:29
git-codecommit.ap-northeast-3.amazonaws.com SHA256 2B815B9F0AvwLnRxSVxUz4kDYmtEQUGGdQYP8OQLXhA
git-codecommit.af-south-1.amazonaws.com MD5 21:a0:ba:d7:c1:d1:b5:39:98:8d:4d:7c:96:f5:ca:29
git-codecommit.af-south-1.amazonaws.com SHA256 C34ji3x/cnsDZjUpyNGXdE5pjHYimqJrQZ3leTgqJHM
git-codecommit.il-central-1.amazonaws.com MD5 04:74:89:16:98:7a:61:b1:69:46:42:3c:d1:b4:ac:a9
git-codecommit.il-central-1.amazonaws.com SHA256 uFxhp51kUWhleTLeYbxQVYm4RnNLNZ5Dbdm1cgdSl/8

Erreur IAM : « Format non valide » lors de la tentative d'ajout d'une clé publique à IAM

Problème :Dans IAM, lors de la tentative de configuration pour utiliser SSH avecCodeCommit, un message d'erreur contenant la phraseInvalid formatlorsque vous essayez d'ajouter votre clé publique.

Corrections possibles :IAM exige que la clé publique soit codée au format ssh-rsa ou au format PEM. Il accepte les clés publiques au format OpenSSH uniquement et comporte des exigences supplémentaires, comme indiqué dansUtilisez des clés SSH avecCodeCommitdans leGuide de l'utilisateur IAM. Vous verrez cette erreur si vous fournissez votre clé publique dans un autre format, ou si la clé ne contient pas le nombre nécessaire de bits.

  • Lorsque vous avez copié la clé publique SSH, il est possible que votre système d'exploitation ait introduit des sauts de ligne. Assurez-vous que la clé publique que vous ajoutez à IAM ne comporte aucun saut de ligne.

  • Certains systèmes d'exploitation Windows n'utilisent pas le format OpenSSH. Pour générer une paire de clés et copier le format OpenSSH requis par IAM, voirÉtape 3 : Configurer les clés publiques et privées pour Git et CodeCommit.

Pour plus d'informations sur les exigences relatives aux clés SSH dans IAM, voirUtilisez des clés SSH avecCodeCommitdans leGuide de l'utilisateur IAM.

J'ai besoin d'accéderCodeCommitréférentiels dans plusieurs comptes Amazon Web Services avec informations d'identification SSH

Problème :Je souhaite configurer l'accès SSH àCodeCommitréférentiels dans plusieurs comptes Amazon Web Services.

Corrections possibles :Vous pouvez créer des paires de clés SSH publiques/privées uniques pour chaque compte Amazon Web Services et configurer IAM avec chaque clé. Vous pouvez ensuite configurer votre fichier ~/.ssh/config avec des informations sur chaque ID utilisateur IAM associé à la clé publique. Par exemple :

Host codecommit-1 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 1 (for example, APKAEIBAERJR2EXAMPLE1). IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa. We advise creating CodeCommit specific _rsa files. Host codecommit-2 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 2 (for example, APKAEIBAERJR2EXAMPLE2). IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file. We advise creating CodeCommit specific _rsa files.

Dans cette configuration, vous pourrez remplacer « git-codecommit.us-east-1.amazonaws.com » par « codecommit-2 ». Par exemple, pour cloner un référentiel dans votre deuxième compte Amazon Web Services :

git clone ssh://codecommit-2/v1/repos/YourRepositoryName

Pour configurer une télécommande pour votre dépôt, exécutezgit remote add. Par exemple :

git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName

Pour plus d'exemples, voirce post sur le forumetcette contribution surGitHub.

Git sous Windows : L'émulateur Bash ou la ligne de commande se bloque lorsque vous tentez de vous connecter à l'aide de SSH

Problème : Après que vous avez configuré l'accès SSH pour Windows et vérifié la connectivité depuis la ligne de commande ou le terminal, vous voyez un message indiquant que la clé d'hôte du serveur n'est pas mise en cache dans le registre, et l'invite demandant de stocker la clé dans le cache se bloque (n'accepte pas l'entrée y/n/return) lorsque vous essayez d'utiliser des commandes comme git pull, git push ou git clone dans l'invite de commande ou dans l'émulateur Bash.

Correctifs possibles : La cause la plus courante de cette erreur est que votre environnement Git est configuré pour utiliser autre chose qu'OpenSSH pour l'authentification (probablement PuTTY). Ceci est une cause connue de problèmes liés à la mise en cache des clés dans certaines configurations. Pour résoudre ce problème, essayez l'une des actions suivantes :

  • Ouvrez un émulateur Bash et ajoutez le paramètre GIT_SSH_COMMAND="ssh" avant la commande Git. Par exemple, si vous essayez de pousser vers un référentiel, au lieu de taper git push, tapez :

    GIT_SSH_COMMAND="ssh" git push
  • Si PuTTY est installé, ouvrez PuTTY, et dansNom d'hôte (ou adresse IP), entrez leCodeCommitpoint de terminaison que vous souhaitez atteindre (par exemple, git-codecommit.us-east-2.amazonaws.com). Choisissez Open. Lorsque vous recevez une invite de l'alerte de sécurité PuTTY, choisissez Yes (Oui) pour mettre la clé en cache en permanence.

  • Renommez ou supprimez la variable d'environnement GIT_SSH si vous ne l'utilisez plus. Ensuite, ouvrez une nouvelle invite de commande ou session d'émulateur Bash, puis réessayez votre commande.

Pour d'autres solutions, consultez Git clone/pull continually freezing at Store key in cache sur Stack Overflow.

Le format de clé publique nécessite une spécification dans certaines distributions de Linux

Problème :Lorsque vous essayez de configurer une paire de clés publique-privée, vous recevez un message d'erreur.

Corrections possibles :Certaines distributions de Linux nécessitent une ligne de configuration supplémentaire dans~/.ssh/configfichier qui spécifie les types de clés publiques acceptés. Pour plus d'informations, consultez la documentation de votre distribution surPubkeyAcceptedKeyTypes.

Erreur d'accès : clé publique SSH refusée lors de la connexion àCodeCommitréférentiel

Problème :Lorsque vous essayez d'utiliser un point de terminaison SSH pour communiquer avec unCodeCommitréférentiel, un message d'erreur contenant la phrase apparaîtError: public key denied.

Correctifs possibles : généralement, cette erreur est due au fait que vous n'avez pas terminé la configuration des connexions SSH. Configurez une paire de clés SSH publique et privée, puis associez la clé publique à votre utilisateur IAM. Pour plus d'informations sur la configuration de SSH, consultez Pour les connexions SSH sous Linux, macOS ou Unix et Pour des connexions SSH sous Windows.