【发布时间】:2022-07-17 19:43:53
【问题描述】:
在我重新安装 aws-cli 之前,我能够从我的 AWS CodeCommit 存储库中提取和/或推送更新。
我尝试了所有可以找到的建议解决方案,但似乎没有任何效果。
我正在使用 Ubuntu 21.10 并已安装:
$ aws --v
aws-cli/1.19.1 Python/3.9.7 Linux/5.13.0-41-generic botocore/1.20.0
git version 2.32.0
我得到的错误是:
fatal: unable to access 'https://git-codecommit.eu-west-2.amazonaws.com/v1/repos/myrepo/': The requested URL returned error: 403
它曾经询问我的用户名和密码,但在我尝试解决问题后,它完全停止询问我的凭据。无论哪种方式,我都确认我使用了正确的凭据。此外,我在 AWS 确实拥有必要的权限。直到几个小时前,我才成功地拉取和推送更新。
aws 凭据帮助程序已按照大多数在线解决方案的建议进行设置。更具体地说,我的 .gitconfig 文件如下所示:
[user]
name = My_name
email = My_email
[credential]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
此外,我正确设置(使用正确的区域)$ aws configure 配置。
列表$ git config --list --show-origin我得到:
file:/etc/gitconfig user.email=My_email
file:/home/f_user/.gitconfig user.name=My_name
file:/home/f_user/.gitconfig user.email=My_email
file:/home/f_user/.gitconfig credential.helper=!aws codecommit credential-helper $@
file:/home/f_user/.gitconfig credential.usehttppath=true
老实说,我不知道还能尝试什么,任何帮助将不胜感激!
编辑: 我解决问题的方法是:
- 从我的系统中卸载 aws 客户端,然后重新安装并从头开始配置。
- 我克隆了我的 IAM 帐户并为其授予了完整的 AWSCodeCommit 访问权限。
我不确定解决它的部分是什么,可能是第一步。
【问题讨论】:
-
403 是“禁止的”,即您没有权限。检查您的权限。请注意,
user.name和user.email不是凭据;您传递给 AWS 的凭证来自aws codecommit credential-helper。如果您使用的是 macOS,请参阅 docs.aws.amazon.com/codecommit/latest/userguide/…。 -
我确实检查了权限,它们与我几天前推送更改时的权限相同。此外,关于凭据,我知道姓名和电子邮件不是我进行身份验证所需的凭据。它是用户名和密码,但该命令甚至停止提示我使用我的凭据,这就是它如此令人困惑的原因。
-
某事发生了变化:要么是您提供给 AWS 的凭证,要么是 AWS 正在进行的验证,或者两者兼而有之。使用 VonC showed 的测试来查看您发送到 AWS 的内容(和/或设置 GIT_TRACE、GIT_PACKET_TRACE、CURL 跟踪等;请参阅 this question)。
标签: git amazon-web-services ubuntu aws-cli aws-codecommit