我的本地笔记本电脑是Mac.
正确配置了ssh密钥.这是〜/ .ssh/config的内容
Host barthea
Hostname git-codecommit.us-east-1.amazonaws.com
User AVVVVVVVVVVVVVVVVVQ
IdentityFile ~/.ssh/aws-aws.pem
跑ssh barthea得到了我
`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.我创建了一个带有密码和访问密钥的IAM用户bruce666,使该用户成为"团队"组的一部分.然后我创建了一个包含"AWSCodeCommitPowerUsers"的策略,并将此策略分配给"团队".最后将bruce666分配给"团队".此时,bruce666可以通过管理控制台访问CodeCommit中的任何仓库.
我运行了aws config --profile bruce666,用他的访问和密钥,他的区域和json指定格式.此时,我能够通过运行aws codecommit get-repository --repository-name rekha --profile bruce666在CodeCommmit中创建rekha repo.
我可以创建几个虚拟文件,运行git init,git add.,git的承诺-m"1",GIT中添加初始https://git-gitcode.amzonaws.com/repos/v1/rekha,混帐推-u主产地和该动作会成功.
但是,当我运行git clone ssh://git-gitcode.amazonaws.com/repos/v1/rekha时,我得到"致命:无法访问" https://git-codecommit.us-east-1.amazonaws. com/v1/repos/barthia / ':请求的URL返回错误:403"是什么给出的?
user846316.. 30
在MAC上,如果上述技巧不起作用,请执行以下操作:
打开钥匙串访问
搜索CodeCommit.你应该找到这个:
选择"git-codecommit ...."并按删除
确认删除.
现在再试一次.它应该工作.当您遇到错误403时,您可能还必须在下次再次执行此操作.
在MAC上,如果上述技巧不起作用,请执行以下操作:
打开钥匙串访问
搜索CodeCommit.你应该找到这个:
选择"git-codecommit ...."并按删除
确认删除.
现在再试一次.它应该工作.当您遇到错误403时,您可能还必须在下次再次执行此操作.
在Windows中使用git push命令时,我也遇到相同的403错误。我完成了AWS文档中提到的所有设置,但未解决我的问题。在我查看了通过Windows凭据设置的git凭据后,如屏幕所示。我发现它设置了访问密钥/秘密密钥,而不是git https凭据(不知道如何)。
单击编辑链接,使用为AWS User生成的正确git凭证更新凭证,一切正常。
可在AWS文档上找到此有用的文本以进行代码提交和Windows集成
如果您的Git for Windows安装中包含Git Credential Manager实用程序,则在前几次尝试连接后,您将看到403错误或提示向Credential Manager实用程序提供凭据。解决此问题的最可靠方法是卸载Git for Windows,然后重新安装,而无需使用Git Credential Manager实用程序,因为它与AWS CodeCommit不兼容。
如果您想保留Git Credential Manager实用程序,则必须执行其他配置步骤以也使用AWS CodeCommit,包括手动修改.gitconfig文件以在连接到AWS CodeCommit时指定使用AWS CodeCommit的凭证帮助程序。
从凭据管理器实用程序中删除所有存储的凭据(您可以在控制面板中找到此实用程序)。
删除所有存储的凭据后,请将以下内容添加到.gitconfig文件中,进行保存,然后尝试从新的命令提示符窗口再次连接:
[credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true
此外,您可能必须通过指定--system而不是--global或--local来重新配置git config设置,然后所有连接才能正常工作。
这最后一部分适用于我的情况,尽管当我运行git config --system时,它没有按预期运行,但在aws codecommit命令之前附加了aws configure。
因此,我必须在git中运行它才能找到系统配置文件的位置。
git config --list --show-origin
然后,我将来自AWS的建议部分添加到我的c:/users/username/.gitconfig和我的c:/ ProgramData / Git / config文件中。
在该git push开始工作后,即使我在收到以下错误响应之前仍收到虚假错误:
"git: 'credential-aws' is not a git command. See 'git --help'."