Mon ordinateur portable local est un Mac.
La clé ssh est configurée correctement. C'est le contenu de ~/.ssh/config
Host barthea Hostname git-codecommit.us-east-1.amazonaws.com User AVVVVVVVVVVVVVVVVVQ IdentityFile ~/.ssh/aws-aws.pem
Courir ssh barthea me fait
`You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-east-1.amazonaws.com closed by remote Host.
`2. J'ai créé un utilisateur IAM bruce666 avec mot de passe et clés d'accès, j'ai intégré cet utilisateur au groupe" team ". J'ai ensuite créé une stratégie qui inclut" AWSCodeCommitPowerUsers "et j'ai affecté cette stratégie à" team ". Et finalement assigné bruce666 à "team". À ce stade, bruce666 peut accéder à n'importe quel référentiel dans CodeCommit via la console de gestion.
J'ai exécuté aws config --profile bruce666 , introduit son accès et sa clé secrète, sa région et spécifié le format sur json. À ce stade, j'ai pu créer le référentiel rekha dans CodeCommmit en exécutant aws codecommit get-repository --repository-name rekha --profile bruce666
Je peux créer quelques fichiers fictifs, exécuter git init , git add. , git commit -m "1" , git add Origin https: // git -gitcode.amzonaws.com/repos/v1/rekha, git Push -u Origin master Et cette opération sera couronnée de succès.
Cependant, lorsque j'exécute git clone ssh: //git-gitcode.amazonaws.com/repos/v1/rekha , j'obtiens "fatal: incapable de access ' https://git-codecommit.us-east-1.amazonaws.com/v1/repos/barthia/ ': L'URL demandée a renvoyé l'erreur: 403 "Qu'est-ce qui donne?
Sur MAC, si les astuces mentionnées ci-dessus ne fonctionnent pas, procédez comme suit:
Maintenant réessayez. Ça devrait marcher. Vous devrez peut-être recommencer la prochaine fois également lorsque vous rencontrerez l'erreur 403.
L'une des raisons possibles de ce problème est le mot de passe du trousseau différent du mot de passe de connexion sur votre MAC.
Je fais également face à la même erreur 403 lors de l'utilisation de la commande git Push dans Windows. J'ai effectué tous les paramètres mentionnés dans les documents AWS, mais je n'ai pas résolu mon problème. Après avoir examiné les informations d'identification git définies via les informations d'identification Windows, comme indiqué à l'écran. J'ai trouvé à la place des informations d'identification https git, il a défini la clé d'accès/clé secrète (je ne sais pas comment).
Cliquez sur le lien de modification, mettez à jour les informations d'identification avec les informations d'identification git appropriées générées pour l'utilisateur AWS, tout a bien fonctionné.
Ce texte utile se trouve dans la documentation AWS pour codecommit et l'intégration Windows
Si votre installation de Git pour Windows comprenait l'utilitaire Git Credential Manager, vous verrez 403 erreurs ou invites pour fournir des informations d'identification dans l'utilitaire Credential Manager après les premières tentatives de connexion. Le moyen le plus fiable pour résoudre ce problème consiste à désinstaller puis à réinstaller Git pour Windows sans l'option pour l'utilitaire Git Credential Manager, car il n'est pas compatible avec AWS CodeCommit.
Si vous souhaitez conserver l'utilitaire Git Credential Manager, vous devez effectuer des étapes de configuration supplémentaires pour utiliser également AWS CodeCommit, notamment en modifiant manuellement le fichier .gitconfig pour spécifier l'utilisation de l'assistant d'informations d'identification pour AWS CodeCommit lors de la connexion à AWS CodeCommit.
Supprimez toutes les informations d'identification stockées de l'utilitaire Credential Manager (vous pouvez trouver cet utilitaire dans le Panneau de configuration).
Une fois que vous avez supprimé toutes les informations d'identification stockées, ajoutez ce qui suit à votre fichier .gitconfig, enregistrez-le, puis réessayez de vous connecter à partir d'une nouvelle fenêtre d'invite de commandes:
[credential "https://git-codecommit.us-east-1.amazonaws.com"]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
De plus, vous devrez peut-être reconfigurer vos paramètres de configuration git en spécifiant --system au lieu de --global ou --local avant que toutes les connexions fonctionnent comme prévu.
Cette dernière partie s'appliquait à ma situation, bien que lorsque j'ai exécuté git config --system, il ne fonctionnait pas comme prévu mais a ajouté aws configure avant la commande aws codecommit.
J'ai donc dû l'exécuter dans git pour trouver l'emplacement du fichier de configuration pour le système.
git config --list --show-Origin
J'ai ensuite ajouté la section suggérée d'AWS à mes fichiers c: /users/username/.gitconfig et mes fichiers c:/ProgramData/Git/config.
Après que git Push a commencé à fonctionner, même si j'obtiens l'erreur bidon devant ma réponse de
"git: 'credential-aws' is not a git command. See 'git --help'."
Pour moi, la cause principale de l'erreur était que, quelle que soit la version de git que j'utilisais sur OSX, GIT récupérait toujours la configuration credential.helper de l'utilisation d'osxkeychain dans le fichier:
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig
Se débarrasser de cela a résolu le problème pour moi et n'a rien cassé.
Mon cas sous OSX.
Le premier pas:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
Cependant, la vérification de git config --list --show-Origin
file:/usr/local/etc/gitconfig credential.https://git-codecommit.eu-west-1.amazonaws.com.helper=!aws codecommit credential-helper $@
file:/usr/local/etc/gitconfig credential.helper=osxkeychain
file:/Users/mine/.gitconfig user.name=my-user
file:/Users/mine/.gitconfig [email protected]
file:/Users/mine/.gitconfig filter.lfs.clean=git-lfs clean -- %f
file:/Users/mine/.gitconfig filter.lfs.smudge=git-lfs smudge -- %f
file:/Users/mine/.gitconfig filter.lfs.process=git-lfs filter-process
file:/Users/mine/.gitconfig filter.lfs.required=true
file:/Users/mine/.gitconfig credential.helper=!aws codecommit credential-helper $@
file:/Users/mine/.gitconfig credential.usehttppath=true
La première ligne n'était pas présente auparavant, et git utilisait osxkeychain
avec priorité. Par conséquent, je devais faire git config --system ...
cat /usr/local/etc/gitconfig
[credential "https://git-codecommit.eu-west-1.amazonaws.com"]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
[credential]
helper = osxkeychain
L'URL a donc été spécifiée afin de se replier au cas où d'autres informations d'identification seraient stockées.
Mise à jour https://docs.aws.Amazon.com/codecommit/latest/userguide/troubleshooting-ch.html
Pour une raison quelconque, UseHttpPath = true ne semble pas être ajouté parfois. Il peut donc (devrait) être ajouté sous [informations d'identification]
Je l'ai résolu.
Le message d'erreur 403 est un message d'erreur spécifiquement Git. J'ai ajouté les deux commandes d'assistance spécifiées par AWS:
git config --global credential.helper '!aws --profile bruce666 codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
et cela a réglé le problème.
Le fichier . Git/config dans votre répertoire local (avant de cloner le référentiel Codecommit que vous venez de créer devrait ressembler à ceci:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[credential]
helper = !aws --profile bruce666 codecommit credential-helper $@
UseHttpPath = true
[remote "Origin"]
url = https://git-codecommit.us-east-1.amazonaws.com/v1/repos/barthea
fetch = +refs/heads/*:refs/remotes/Origin/*
[branch "master"]
remote = Origin
merge = refs/heads/master
Comme spécifié dans le fichier . Git/config, vous clonez en utilisant https et non ssh. Je ne dois pas avoir utilisé la version par défaut de git fournie avec OSX car je n'ai rencontré aucun problème de chaîne d'outils.
fatal: impossible d'accéder à ' https://git-codecommit.yourregion.amazonaws.com/v1/yourrepositoryname/ ': l'URL demandée a renvoyé l'erreur: 403
Cela se produit en raison des régions ci-dessous
codecommitfullaccess
.aws configure
La solution suivante a fonctionné pour une poignée de développeurs qui utilisent Git Bash sur Windows 10.
Si vous sélectionnez Windows comme système d'exploitation sur l'onglet " Connectez-vous à votre référentiel ", les commandes sont formatées comme suit:
git config --global credential.helper "!aws codecommit credential-helper $@"
git config --global credential.UseHttpPath true
Cependant, si vous utilisez Git Bash, sélectionnez plutôt l'option "Linux, MacOS ou Unix". Notez le guillemet simple au lieu du guillemet double sur la première ligne.
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
Bonne chance.
Référé: https://forums.aws.Amazon.com/thread.jspa?threadID=198356 Publié par: mwhardesty
Après avoir exécuté les commandes ci-dessous, j'ai dû ajouter la stratégie mentionnée ci-dessous à mon utilisateur IAM pour résoudre ce problème. réfraction
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
Politique:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:*"
],
"Resource": "*"
}
]
}