AWS Elastic Beanstalk命令无输出:Git与CLI配置认证问题求助
解决AWS Elastic Beanstalk CLI与Git配置的密钥混淆问题
嘿,刚接触AWS的时候真的很容易搞混不同密钥的用途——我当初第一次用EB CLI也犯过类似的错!别担心,咱们一步步把这个问题理顺:
先搞懂两种密钥的核心区别
你之前混淆的是两类完全不同的凭证:
- SSH密钥对:是用来安全登录Elastic Beanstalk背后的EC2实例的,相当于服务器的登录密钥,和API认证完全没关系。
- AWS访问密钥(Access Key ID + Secret Access Key):这才是EB CLI、AWS CLI这类工具用来和AWS API交互的凭证,需要通过IAM用户生成。
修复配置的具体步骤
1. 清理错误的凭证配置
首先得把之前错误设置的SSH密钥从AWS凭证存储里去掉:
- 如果你是通过
eb init命令直接输入的错误密钥,可以直接在项目目录重新运行eb init,选择覆盖现有配置; - 也可以手动编辑凭证文件:
- Linux/macOS:打开
~/.aws/credentials,找到对应配置段(比如[default]或者你自定义的配置文件),删掉错误的aws_access_key_id和aws_secret_access_key值; - Windows:打开
C:\Users\<你的用户名>\.aws\credentials,做同样的操作。
- Linux/macOS:打开
2. 获取正确的AWS访问密钥
你需要在AWS控制台创建一个有EB权限的IAM用户:
- 登录AWS控制台,进入IAM服务;
- 左侧导航栏选用户,点击添加用户,给用户起个名字(比如
eb-cli-user),勾选访问密钥 - 编程访问; - 下一步设置权限,直接选择附加现有策略直接,搜索并勾选
AWSElasticBeanstalkFullAccess(如果是生产环境,之后可以再细化权限,先用来测试); - 完成用户创建后,会显示你的Access Key ID和Secret Access Key——一定要把这两个值保存好,关闭页面后就再也看不到Secret Key了!
3. 重新配置EB CLI与Git关联
回到你的项目目录:
- 运行
eb init,按照提示选择你的AWS区域,然后输入刚才获取的正确Access Key ID和Secret Access Key; - 选择你要关联的Elastic Beanstalk应用(如果还没创建应用,可以跟着提示新建);
- 配置完成后,EB CLI会自动帮你设置Git的远程仓库关联(对应
elasticbeanstalk远程)。
4. 验证配置是否生效
运行以下命令测试:
eb status:如果能正常显示你的EB环境状态,说明CLI认证没问题;git push elasticbeanstalk main(或者你的分支名):如果能成功推送代码到EB环境,说明Git关联也正常了。
额外注意事项
- 永远不要把AWS访问密钥提交到Git仓库里!可以在项目根目录创建
.gitignore文件,把.aws目录或者包含密钥的文件加进去; - SSH密钥可以在创建EB环境的时候指定(通过
eb create命令的--ssh参数),用来后续登录EC2实例排查问题,和API认证凭证分开管理; - 如果之后需要切换不同的AWS账号,可以用AWS CLI的
aws configure --profile <自定义名称>创建多个配置文件,然后在EB CLI里指定--profile参数调用。
内容的提问来源于stack exchange,提问作者Sheepwall
相关产品推荐
相关产品推荐

