如何修复连接AWS EC2与S3时出现的InvalidAccessKeyId错误?
问题分析与解决方法
错误原因
你混淆了EC2密钥对和**AWS访问密钥(Access Key ID/Secret Access Key)**的用途:
- EC2密钥对仅用于登录EC2实例的SSH验证,不能作为AWS CLI的身份凭证
- AWS访问密钥是IAM用户专属的服务调用凭证,才是AWS CLI需要的身份信息
解决步骤
获取合法的AWS访问密钥
- 登录AWS控制台,进入IAM服务
- 创建一个具备S3访问权限的IAM用户(可按需附加
AmazonS3ReadOnlyAccess等权限策略) - 在用户详情的「安全凭证」标签下,生成Access Key ID和Secret Access Key,务必保存好这两个值(Secret Access Key仅会显示一次)
重新配置AWS CLI
在Windows命令提示符中执行:aws configure按提示依次输入:
- AWS Access Key ID:上述生成的IAM用户访问密钥ID
- AWS Secret Access Key:上述生成的IAM用户秘密访问密钥
- 默认区域名称:
us-east-2(保持原有配置即可) - 默认输出格式:选择
json/text/table其中一种,All不是合法的输出格式选项
验证配置有效性
重新执行命令测试:aws s3 ls s3://www.(domain name)权限配置正确的话,就能正常列出目标S3存储桶内的内容
内容的提问来源于stack exchange,提问作者kefuyuehan
相关产品推荐
相关产品推荐

