使用SSH密钥通过Git连接AWS CodeCommit时报公钥权限被拒绝错误
AWS CodeCommit SSH连接失败排查与解决方法
1. 确认本地私钥文件存在
- 打开Git Bash执行如下命令,查看.ssh目录下是否存在对应私钥文件:
ls ~/.ssh/ - 报错中出现
/c/Users/KarthiK/c/Users/KarthiK/.ssh/kk-code-commit重复路径,说明SSH配置中身份文件路径填写错误,优先修正配置。
2. 修正SSH配置文件
- 执行命令打开SSH配置文件:
nano ~/.ssh/config - 确认CodeCommit相关配置段符合以下格式,注意IdentityFile路径不要重复填写盘符路径,直接用~指代用户目录即可:
注:User字段为你IAM用户上传SSH公钥后生成的SSH密钥ID,需和你AWS控制台的配置保持一致Host git-codecommit.us-east-2.amazonaws.com User APKAUTAVO7YATKGOPVVL IdentityFile ~/.ssh/kk-code-commit - 保存配置文件后退出编辑器。
3. 修正私钥文件权限
SSH会拒绝权限过大的私钥文件,执行以下命令修正权限:
chmod 600 ~/.ssh/kk-code-commit chmod 644 ~/.ssh/kk-code-commit.pub
4. 验证连接
执行测试命令验证配置是否生效:ssh git-codecommit.us-east-2.amazonaws.com
返回如下提示即为连接成功:
You have successfully authenticated over SSH. You can use Git to interact with CodeCommit.
额外排查项
- 确认本地
kk-code-commit.pub公钥内容和AWS IAM控制台中上传的公钥内容完全一致 - 确认对应IAM用户已分配CodeCommit仓库的访问权限
- 若使用Windows原生SSH而非Git Bash的SSH客户端,需调整IdentityFile路径为Windows格式,避免路径解析错误
内容的提问来源于stack exchange,提问作者KarthiK
相关产品推荐
相关产品推荐

