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

如何让AWS CLI识别配置文件?解决S3上传凭证无法定位问题

问题解决:AWS CLI无法识别配置文件中的凭证

核心原因

AWS CLI的凭证(access_key/secret_key)和区域等配置是分开存储的:

  • 凭证默认存在~/.aws/credentials(Windows路径:C:\Users\<你的用户名>\.aws\credentials)
  • 区域、输出格式等配置存在~/.aws/config(Windows同路径下的config文件)

你提到把密钥和区域放在同一个config文件里,这是错误的——CLI不会从config文件读取凭证信息,导致aws configure list显示凭证未设置,最终上传S3时提示找不到凭证。

修复步骤

  1. 调整配置文件结构
    打开credentials文件,添加TestProfile的凭证:

    [TestProfile]
    aws_access_key_id = 你的Access Key ID
    aws_secret_access_key = 你的Secret Access Key
    

    打开config文件,确保TestProfile的区域配置正确(不要包含密钥):

    [profile TestProfile]
    region = us-east-1
    
  2. 验证配置生效
    执行以下命令检查TestProfile的配置:

    aws configure list --profile TestProfile
    

    正常输出应该类似:

    Name                    Value             Type    Location
    ----                    -----             ----    --------
    profile              TestProfile           manual    --profile
    access_key     你的Access Key ID      config-file    ~/.aws/credentials
    secret_key     你的Secret Key(部分隐藏) config-file    ~/.aws/credentials
    region                us-east-1      config-file    ~/.aws/config
    
  3. 测试S3上传
    执行上传命令时指定TestProfile:

    aws s3 cp .\mylocalfile.txt s3://testBucket/mylocalfile.txt --profile TestProfile
    

额外排查点

  • 确保credentials和config文件没有语法错误(比如节名称格式正确,[profile TestProfile]不能少了profile前缀,默认配置除外)
  • 检查文件权限:Linux/macOS下确保.aws目录和文件权限为700/600,防止其他用户读取;Windows下确保当前用户有读写权限
  • 确认没有环境变量(AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY)覆盖配置文件的凭证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:50:28