AWS代码提交-致命:无法访问:请求的URL返回错误:403



我能够从我的AWS CodeCommit存储库中拉和/或推送更新,直到我重新安装aws-cli。我试了所有我能找到的解决办法,但似乎都不管用。

我正在使用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访问权限。

我不确定是什么部分解决了它,可能是第一步。

如果你使用Mac去keychain访问,查找codecommit并删除存储的密钥。

只需删除凭据如下,下次弹出窗口提示凭据删除凭据管理器的步骤

控制面板选择"凭证管理"在Generic Credential下,删除相应的Git Credential。

如果你是mac用户。只要输入code ~/.gitconfig,然后粘贴以下内容,如果缺少凭据部分。

[credential]
helper = !aws codecommit credential-helper $@
UseHttpPath = true

再次检查您的AWS管理的CodeCommit策略。
如果您的IAM User已经切换到ForceMultiFactorAuthentication作为策略,您将需要使用令牌,而不是您的密码。

在本地,检查凭据管理器存储的密码:

printf "protocol=httpsnhost=git-codecommit.eu-west-2.amazonaws.com"|aws codecommit credential-helper get

我解决这个问题的方法是:

Uninstalled aws client from my system and re installed and configured it from scratch.
I cloned my IAM account and gave it Full AWSCodeCommit access.

我不确定是什么部分解决了这个问题,可能是第一步,因为我重新安装了所有东西后,我再次提示使用我的凭据。

我的解决方案是重新安装git并取消选择git凭证帮助器。

我也面临着类似的问题,

fatal: unable to access 'https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/sunday-demo/': 
The requested URL returned error: 403

解决方案:

发出以下两个命令,这样它将提升凭据窗口。

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true

按照"Git for macOS"一节中的步骤操作:我成功配置了凭证帮助器,但是现在我被拒绝访问存储库(403)">

https://docs.aws.amazon.com/codecommit/latest/userguide/troubleshooting-ch.html

对于windows,如果问题仍然存在"致命:无法访问'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/RepositoryName':请求的URL返回错误:403"尝试修复窗口中的环境变量。如果为了克隆仓库而更改了凭据,则环境将使用旧的区域和键值集。

  1. 搜索"编辑系统环境变量">
  2. 查找"环境变量">
  3. 设置新的accesskey,秘密accesskey和默认区域
  4. 单击"ok">

我已经为这个问题纠结了好几个月了。今天我发现这是我的设置。

:

在VS Code中运行开发容器在Windows机器上,Docker与WSL集成。我遵循了所有AWS代码提交设置命令,当然还有这些:

git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true

但是git克隆任何一个repo仍然导致:The requested URL returned error: 403

如果你使用VS Code开发容器,有两个地方存储一些gitconfig:

/etc/gitconfig
/home/node/.gitconfig

(setup是一个nodejs的开发容器)(见最后一行)

如果你运行:

git config --list --show-origin

请注意以下几行:

file:/etc/gitconfig         credential.helper=credential.helper=!aws codecommit credential-helper $@
file:/home/node/.gitconfig  credential.helper=!aws codecommit credential-helper $@

在我的例子中,=之后的内容是不同的。修复方法是手动编辑/etc/gitconfig并给helper键一个正确的值。

相关内容

  • 没有找到相关文章

最新更新