AWS-CPP-SDK Git克隆失败,请求curl直接下载最新代码方案
解决AWS EC2实例上克隆AWS C++ SDK的权限问题及替代下载方案
一、先解决SSH克隆的权限拒绝问题
你遇到的权限被拒绝(publickey)错误,是因为EC2实例默认没有配置GitHub的SSH密钥对,导致GitHub无法验证你的身份。那个主机真实性的警告是正常的(第一次连接GitHub时的安全提示,已经自动添加到已知主机,不用在意)。解决步骤如下:
- 在EC2实例终端生成SSH密钥对:
执行过程中一路按回车即可(不需要设置密码,除非你需要额外安全验证)。ssh-keygen -t ed25519 -C "your_email@github.com" - 查看并复制生成的公钥内容:
cat ~/.ssh/id_ed25519.pub - 登录你的GitHub账户,进入「Settings」→「SSH and GPG keys」,点击「New SSH key」,把复制的公钥粘贴进去,设置一个名称后保存。
- 再次执行克隆命令
git clone git@github.com:aws/aws-sdk-cpp.git,就能正常拉取代码了。
二、无需配置密钥的替代方案:HTTPS克隆或curl下载
如果不想折腾SSH密钥,有两个更简单的方式能获取最新代码:
1. 用HTTPS协议克隆(推荐)
直接改用HTTPS的git克隆命令,不需要任何密钥配置,就能直接拉取仓库,后续还能通过git pull更新到最新版本:
git clone https://github.com/aws/aws-sdk-cpp.git
2. 用curl下载最新源码包
如果不想使用git工具,也可以直接用curl下载仓库main分支的最新压缩包,每次启动实例执行以下命令就能拿到最新代码:
# 下载最新main分支的zip包 curl -L https://github.com/aws/aws-sdk-cpp/archive/refs/heads/main.zip -o aws-sdk-cpp-latest.zip # 解压包 unzip aws-sdk-cpp-latest.zip
如果需要指定某个稳定版本,可以把URL中的refs/heads/main换成对应的tag(比如refs/tags/1.11.200),但如果要每次获取最新开发代码,main分支的链接就足够。
内容的提问来源于stack exchange,提问作者Y. Eman
相关产品推荐
相关产品推荐

