AWS CLI执行aws configure生成错误配置文件导致Profile无法识别问题咨询
AWS CLI配置生成非标准命名文件、跨路径找不到profile的解决方案
这个问题本质是AWS CLI的全局环境变量被篡改,导致默认配置文件路径发生了偏移。AWS CLI默认会从用户目录下的.aws/config和.aws/credentials读取配置,当系统中存在AWS_CONFIG_FILE、AWS_CREDENTIALS_FILE两个环境变量时,CLI会优先按变量值的路径读取/生成配置文件。如果变量值仅配置了文件名(无路径前缀),CLI就会在执行命令的当前工作目录读写配置文件,就会出现你遇到的现象:在用户目录执行configure生成文件,换目录后找不到配置。
分步解决方案
- 第一步:验证环境变量问题
打开PowerShell执行以下两条命令,确认变量是否被异常设置:
正常状态下两条命令无输出,如果你看到输出为echo $env:AWS_CONFIG_FILE echo $env:AWS_CREDENTIALS_FILE.awsconfig和.awscredentials即可确认问题根因。 - 第二步:删除异常环境变量
- 按下Win+R输入
sysdm.cpl打开系统属性面板,切换到「高级」选项卡,点击「环境变量」 - 分别在当前用户的变量列表、系统变量列表中,找到
AWS_CONFIG_FILE和AWS_CREDENTIALS_FILE两个条目,选中后点击删除 - 保存修改后,重启所有打开的PowerShell/命令提示符窗口,确保环境变量生效
- 按下Win+R输入
- 第三步:修复现有配置文件
- 打开
C:\Users\Profile路径,手动新建名为.aws的文件夹 - 将当前路径下的
.awsconfig文件重命名为config,移动到.aws文件夹内 - 将当前路径下的
.awscredentials文件重命名为credentials,移动到.aws文件夹内
- 打开
- 第四步:验证修复结果
随意切换到其他任意文件夹路径,执行以下命令验证配置是否正常:# 查看所有已配置的profile,确认你的xxxxx profile存在 aws configure list-profiles # 验证凭证有效性,正常会返回你的账号ID、IAM实体ARN等信息 aws sts get-caller-identity --profile xxxxx
内容的提问来源于stack exchange,提问作者Rohit kasyap
相关产品推荐
相关产品推荐

