使用Eclipse克隆AWS CodeCommit仓库时遇git-upload-pack未授权错误
解决Eclipse AWS Toolkit克隆CodeCommit仓库时的
git-upload-pack not permitted错误 我之前也碰到过这个一模一样的问题——明明能在AWS Explorer里看到所有CodeCommit仓库,但一执行克隆就弹出权限错误,折腾了好一会儿才找到解决方向,给你几个亲测有效的排查和修复步骤:
org.eclipse.jgit.api.errors.TransportException: https://git-codecommit.eu-west-2.amazonaws.com/v1/repos/RepoName: git-upload-pack not permitted on 'https://git-codecommit.eu-west-2.amazonaws.com/v1/repos/RepoName/' at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:222) at org.eclipse.jg...
1. 检查IAM用户权限与凭证有效性
- 先确认你在Eclipse中配置的IAM用户拥有CodeCommit的拉取权限:至少要包含
codecommit:GitPull权限,测试阶段可以直接附加AWSCodeCommitFullAccess策略(生产环境建议配置最小权限)。 - 检查凭证状态:如果用的是临时角色凭证,需要重新生成并更新到Eclipse的AWS偏好设置;如果是永久Access Key,确认没有被禁用或过期。
- 打开Eclipse的
Window > Preferences > AWS Toolkit,验证选中的凭证配置文件能正常通过AWS Toolkit的凭证校验。
2. 确认区域完全匹配
你的仓库位于eu-west-2区域,务必保证Eclipse的AWS区域设置一致:
- 打开AWS Explorer,右键点击
AWS节点选择Preferences,确认默认区域设置为eu-west-2;或者在克隆仓库时手动指定对应区域。区域不匹配会导致请求路由到错误的端点,触发权限拦截。
3. 更新Eclipse Git与AWS Toolkit插件
旧版本的JGit(Eclipse自带的Git实现)可能和AWS CodeCommit的HTTPS交互存在兼容问题:
- 打开Eclipse的
Help > Eclipse Marketplace,搜索Git和AWS Toolkit,安装最新版本的插件后重启Eclipse,再尝试克隆操作。
4. 手动配置Git凭证助手
如果上面的方法都无效,可以让Git直接借助AWS CLI的凭证助手处理CodeCommit认证:
- 确保本地已经安装并配置好AWS CLI(能正常执行
aws codecommit list-repositories命令验证)。 - 在终端执行以下命令配置全局Git设置:
git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true
- 重启Eclipse后再次尝试克隆,此时Git会自动调用AWS CLI的凭证完成认证流程。
内容的提问来源于stack exchange,提问作者Dev
相关产品推荐
相关产品推荐

