You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeCommit无法通过SSH克隆仓库问题求助

解决AWS CodeCommit仓库克隆失败的问题(已持凭证但SSH克隆失败)

兄弟,从你贴的SSH调试输出开头就能看出来,你用的OpenSSH版本是6.6.1——这可是2015年的老古董了!AWS CodeCommit早就不再支持OpenSSH 6.7及更早的版本,这绝对是你克隆失败的核心原因。下面给你一步步捋排查和解决的方法:

一、先确认版本问题

你先自己核对下本地SSH版本,跑这个命令:

ssh -V

要是输出还是6.6.1或者更低,那问题就锁定在这了。旧版本的SSH在加密套件、密钥交换算法上和CodeCommit的服务器完全不兼容,连都连不上,更别说克隆仓库了。

二、升级OpenSSH到兼容版本

看你的用户目录是/home/ec2-user,应该是用的Amazon Linux 2的EC2实例吧?按下面的步骤来:

  1. 先把系统包更到最新:
sudo yum update -y
  1. 安装新版本的OpenSSH客户端和服务端:
sudo yum install openssh-clients openssh-server -y
  1. 要是需要的话,重启下SSH服务:
sudo service sshd restart
  1. 再跑一遍ssh -V,确认版本升到6.7及以上就ok了。

要是你用的是Ubuntu/Debian系统,就换成下面的命令升级:

sudo apt update && sudo apt install --only-upgrade openssh-client openssh-server

三、再检查下你的SSH配置

从调试输出能看到,系统在读/home/ec2-user/.ssh/config里针对git-codecommit.*.amazonaws.com的配置,你得确保这配置没写错,正确的格式应该是这样:

Host git-codecommit.*.amazonaws.com
  User 你的IAM访问密钥ID
  IdentityFile ~/.ssh/你为CodeCommit生成的私钥文件.pem

这里要注意两个点:

  • User填的是IAM用户的访问密钥ID,不是你的IAM用户名哈
  • IdentityFile必须指向你专门为CodeCommit生成的SSH私钥,别搞成EC2实例的密钥对了

四、先测试SSH连接再克隆

升级完版本、确认配置没问题后,先测下和CodeCommit的连接通不通,跑这个命令:

ssh git-codecommit.ap-south-1.amazonaws.com

要是看到下面这个提示,就说明连接成功了:

You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.ap-south-1.amazonaws.com closed by remote host.

这时候再执行你原来的克隆命令,肯定就能成功了。

五、还有几个小细节要检查

  • 虽然你能在控制台浏览仓库,但还是要确认下你的IAM用户有没有CodeCommitCloneRepository权限,别漏了这个操作权限
  • 私钥文件的权限必须是600,不然SSH会拒绝用它,跑这个命令改权限:
chmod 600 ~/.ssh/你的CodeCommit私钥文件.pem

内容的提问来源于stack exchange,提问作者Krishna Chebrolu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:51:55