Amazon web services aws cli获取错误“;请求中包含的安全令牌无效";

Amazon web services aws cli获取错误“;请求中包含的安全令牌无效";,amazon-web-services,aws-cli,Amazon Web Services,Aws Cli,我以前做过aws配置和测试。但今天它不起作用,我在尝试获取托管区域时出错 $ aws route53 list-hosted-zones An error occurred (InvalidClientTokenId) when calling the ListHostedZones operation: The security token included in the request is invalid. 我删除了~/.aws,并再次执行了aws配置,但仍然收到相同的错误。 你能

我以前做过aws配置和测试。但今天它不起作用,我在尝试获取托管区域时出错

 $ aws route53 list-hosted-zones

 An error occurred (InvalidClientTokenId) when calling the ListHostedZones operation: The security token included in the request is invalid.
我删除了~/.aws,并再次执行了
aws配置
,但仍然收到相同的错误。
你能帮忙吗?谢谢

您的帐户是否启用了MFA?你可能得跑了

aws sts get-session-token

有关如何在cli中使用MFA的详细信息已记录在案

启用MFA后,您必须在以后的每个请求上传递从执行aws sts get session token获得的临时凭证

使用环境变量:

export AWS_ACCESS_KEY_ID=XXX
export AWS_SECRET_ACCESS_KEY=YYY
export AWS_DEFAULT_REGION=us-east-2
export AWS_SESSION_TOKEN=ZZZ
使用命名配置文件:

[mfa]
aws_access_key_id = XXX
aws_secret_access_key = YYY
aws_session_token = ZZZ
发生错误(InvalidClientTokenId).如果忘记删除以前的临时凭据,可能会反复出现错误。

因此,如果您正在使用环境变量,请不要忘记在新执行
aws sts get session token
之前取消设置所有变量:

unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
如果您使用的是命名配置文件-不要忘记更新
.aws/credentials
下的配置文件