Amazon web services Ansible动态资源清册:检索ec2资源清册时发生身份验证错误

Amazon web services Ansible动态资源清册:检索ec2资源清册时发生身份验证错误,amazon-web-services,dynamic,ansible,ansible-inventory,Amazon Web Services,Dynamic,Ansible,Ansible Inventory,我正在使用Ansible的动态资源清册功能连接到AWS帐户中的ec2实例,具体操作如下: AWS_PROFILE=personal ansible-playbook cifarm.yml -C 我已将文件复制到库存目录下 运行AWS_PROFILE=personal ansible playbook cifarm.yml-C时,会抛出以下错误: 输出: 错误:清单脚本Inventory/ec2.py有一个执行错误:错误:检索ec2清单时发生身份验证错误。 -已找到AWS_ACCESS_KEY_

我正在使用Ansible的动态资源清册功能连接到AWS帐户中的ec2实例,具体操作如下:

AWS_PROFILE=personal ansible-playbook cifarm.yml -C
我已将文件复制到库存目录下

运行AWS_PROFILE=personal ansible playbook cifarm.yml-C时,会抛出以下错误:

输出: 错误:清单脚本Inventory/ec2.py有一个执行错误:错误:检索ec2清单时发生身份验证错误。 -已找到AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量,但可能不正确 -Boto配置位于“~/.Boto,~/.aws/credentials”,但在获取EC2实例时,包含的凭据可能不正确

我正在MAC操作系统上运行playbook。请注意,我能够成功运行以下程序:

aws ec2 describe-instances --page-size 5 --profile personal
这证明凭证是正确的,并且我已经导出了AWS_访问密钥和AWS_机密密钥

我尝试执行inventory/ec2.py文件,如下所示:

./ec2.py --list
它返回时也有同样的错误。我看到一篇帖子,建议更新机器上的时间,我正在运行剧本。所以我运行了NTUpdate-u

但这个问题仍然存在。我不知道原因是什么。
非常感谢您的帮助/建议。

我设法解决了这个问题。在这里解释它是为了让其他人受益。当我为aws_PROFILE=personal生成aws凭据时,我在~/.aws/credentials中有以下环境变量的值:

aws\u访问\u密钥\u id aws\u密码\u访问\u密钥 aws_会话_令牌。 但是,如果查看ec2.py,它需要一个名为aws\u security\u token的变量值。所以我所做的就是在~/.aws/credentials中将变量名从aws_session_token更改为aws_security_token


瞧。很好。

谢谢,我也有同样的问题。搜索了一段时间,这也为我修复了它。创建了一个PR来修复它: