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

AWS CLI执行脚本报错:找不到配置文件myawsprofile,求解决方案

解决AWS配置文件找不到的问题

先检查拼写错误

你创建的配置文件是myawsprofile,但脚本里写的是--profile myawssprofile(多了一个s),这是最可能直接触发错误的原因,先把脚本里的配置文件名修正为myawsprofile。

如果修正拼写后仍报错,再看以下核心原因和解决办法:

核心原因:sudo执行时切换到root用户,读取的是root的配置文件

你用普通用户执行aws configure --profile myawsprofile时,配置文件存在于普通用户家目录(比如/home/你的用户名/.aws/config和/home/你的用户名/.aws/credentials),但sudo会切换到root用户,root的家目录是/root/,里面没有你创建的配置文件,因此报错。

解决办法1:不用sudo执行脚本

如果你的普通用户有执行该AWS命令的权限,直接运行:

bash myscript

无需使用sudo。

解决办法2:让root读取普通用户的配置文件

复制普通用户的配置文件到root家目录,并修改权限:

sudo cp -r ~/.aws /root/
sudo chown -R root:root /root/.aws

这样root用户就能找到myawsprofile配置。

解决办法3:执行sudo时保留当前用户环境

用-E参数让sudo继承当前用户的环境变量(包括HOME),这样AWS CLI会读取普通用户家目录下的.aws配置:

sudo -E bash myscript

注意:这种方式要确保当前用户的环境变量对root操作是安全的。

解决办法4:在脚本里指定配置文件路径

在AWS命令前显式指定配置文件和凭证文件的路径,比如你的普通用户名为ubuntu,修改脚本里的命令为:

#!/bin/sh

AWS_CONFIG_FILE=/home/ubuntu/.aws/config AWS_SHARED_CREDENTIALS_FILE=/home/ubuntu/.aws/credentials aws ec2 run-instances --image-id ami-ubuntu --count 1 --instance-type t2.micro --key-name mypemfile --security-group-ids sg-mine  --subnet-id subnet-mine --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=AWSTEST}]" --output text --profile myawsprofile

把/home/ubuntu替换成你实际的普通用户家目录路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:11:10