我的本地笔记本电脑是Mac。
正确配置了ssh密钥。这是〜/ .ssh / config
的内容 $sql="INSERT into payment_in('Date','name','value') values('".now()."','".$a."',".$b.")";'
运行ssh barthea让我
Host barthea
Hostname git-codecommit.us-east-1.amazonaws.com
User AVVVVVVVVVVVVVVVVVQ
IdentityFile ~/.ssh/aws-aws.pem
` 2.我创建了一个带有密码和访问密钥的IAM用户bruce666,使该用户成为“团队”组的一部分。然后我创建了一个包含“AWSCodeCommitPowerUsers”的策略,并将此策略分配给“团队”。最后将bruce666分配给“团队”。此时,bruce666可以通过管理控制台访问CodeCommit中的任何仓库。
我运行了 aws config --profile bruce666 ,用他的访问权限和密钥,他的区域和json指定格式。此时,我能够通过运行 aws codecommit get-repository --repository-name rekha --profile bruce666
我可以创建几个虚拟文件,运行 git init , git add。, git commit -m“1”, git add origin https://git-gitcode.amzonaws.com/repos/v1/rekha , git push -u origin master 并且该操作将成功。
但是,当我运行 git clone ssh://git-gitcode.amazonaws.com/repos/v1/rekha 时,我会“致命:无法访问”{{3 }:'请求的URL返回错误:403“什么给出?
答案 0 :(得分:15)
在MAC上,如果上述技巧无效,请执行以下操作:
现在重试。它应该工作。遇到错误403时,您可能下次也必须再次执行此操作。
答案 1 :(得分:7)
在Windows中使用git push命令时,我也遇到同样的403错误。我完成了AWS文档中提到的所有设置,但未解决我的问题。之后我通过Windows Credential查看了git凭证集,如屏幕所示。我找到了而不是git https凭证,它设置了访问密钥/密钥(不知道如何)。
点击编辑链接,使用为AWS用户生成的适当git凭证更新凭证,一切正常。
答案 2 :(得分:4)
This helpful text is found on the AWS documentation for codecommit and Windows integration
如果你安装的Git for Windows包含了Git Credential 管理器实用程序,您将看到403错误或提示提供 在前几个之后,凭据进入Credential Manager实用程序 连接尝试。解决这个问题最可靠的方法是 卸载然后重新安装Git for Windows,没有选项 Git Credential Manager实用程序,因为它与AWS不兼容 CodeCommit。
如果您想保留Git Credential Manager实用程序, 您必须执行其他配置步骤才能使用AWS CodeCommit,包括手动修改.gitconfig文件 指定AWS CodeCommit的凭证帮助程序的使用时间 连接到AWS CodeCommit。
从中删除所有存储的凭据 Credential Manager实用程序(您可以在Control中找到此实用程序 面板)。
删除任何存储的凭据后,添加 跟随.gitconfig文件,保存它,然后尝试连接 再次从新的命令提示符窗口:
[credential "https://git-codecommit.us-east-1.amazonaws.com"]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
此外,您可能必须通过指定--system而不是--global或重新配置您的git配置设置 在所有连接按预期工作之前--local。
这最后一部分适用于我的情况,但是当我运行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'."
答案 3 :(得分:3)
对我来说,获取错误的根本原因是无论我在OSX上使用哪个版本的git,GIT总是从文件中获取使用osxkeychain的credential.helper配置:
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/gitconfig
摆脱这个解决了我的问题,并没有破坏任何东西。
答案 4 :(得分:2)
我解决了。
403错误消息是一个特定的Git错误消息。我添加了两个AWS指定的帮助程序命令:
git config --global credential.helper '!aws --profile bruce666 codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
并且处理了这个问题。
本地目录中的 .git / config 文件(在克隆刚刚创建的Codecommit存储库之前,应该如下所示:
[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
如 .git / config 文件中所述,您使用https而不是ssh进行克隆。我一定不能使用OSX附带的默认版本的git,因为我没有遇到任何工具链问题。
答案 5 :(得分:2)
我在OSX中的情况。
第一步:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credentials.helper UseHttpPath=true
但是,验证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 user.email=my@gmail.com
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
之前没有第一行,并且git优先使用osxkeychain
。因此,我不得不做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
因此,指定URL是为了在存储其他凭据的情况下进行回退。
更新 https://docs.aws.amazon.com/codecommit/latest/userguide/troubleshooting-ch.html
由于某些原因,有时似乎未添加 UseHttpPath = true 。因此可以(应该)将其添加到[凭据]
答案 6 :(得分:0)
以下解决方案适用于在Windows 10上使用Git Bash的少数开发人员。
如果在“ 连接到存储库”选项卡上选择Windows作为操作系统,则命令格式如下:
git config --global credential.helper "!aws codecommit credential-helper $@"
git config --global credential.UseHttpPath true
但是,如果您使用Git Bash,请改为选择“ Linux,MacOS或Unix”选项。 注意第一行的单引号而不是双引号。
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
好运。
已推荐: https://forums.aws.amazon.com/thread.jspa?threadID=198356 发表:mwhardesty
答案 7 :(得分:0)
致命:无法访问“ https://git-codecommit.yourregion.amazonaws.com/v1/yourrepositoryname/”:请求的URL返回错误:403
由于以下区域而发生
codecommitfullaccess
策略。aws配置
答案 8 :(得分:0)
运行以下命令后,我必须将以下提到的策略添加到IAM用户以解决此问题。 refrence
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:*"
],
"Resource": "*"
}
]
}
答案 9 :(得分:0)
我的默认aws凭证出了点问题,我再次运行aws configure
,没有配置文件,重新启动了终端,然后就可以了。
答案 10 :(得分:0)
您需要确保您的AWS凭证不仅具有访问CodeCommit的权限,而且还没有附加全面的拒绝策略。在我们的组织中,我们要求所有控制台帐户都拥有MFA,这确实会导致以编程方式访问时出现问题。
一个好的解决方案(如果这是您的问题)将是直接添加附加的codecommit策略来创建另一个没有控制台访问权限的IAM用户(在本例中,MFA拒绝来自该用户所在的IAM组)。
说明:此答案适用于当您使用IAM凭据和CodeCommit Git扩展(而不是IAM Git凭据)时,尽管我怀疑在这种情况下也是如此。
答案 11 :(得分:0)
在尝试从AWS克隆或提取代码时要求输入用户名和密码时,而不是手动复制密码,只需键入每个字母即可输入密码。这解决了我的问题。
答案 12 :(得分:0)
答案 13 :(得分:0)
$ git 克隆
https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/xx
克隆到 'xx'...
致命:无法访问“https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/xx/”:
请求的 URL 返回错误:403
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
检查:
cat ~/.gitconfig
[user]
email = your-email
name = your-name
[credential]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
Add permissions
Attach existing policies directly
Filter policies
上,输入 AWSCodeCommitFullAccess
Next: Review
Add permissions
$ git 克隆
https://git-codecommit.ap-southeast-1.amazonaws.com/v1/repos/xx
克隆到“xx”...
远程:计数对象:3,完成。
解包对象:100% (3/3),223 字节 | 223.00 KiB/s,完成。