Amazon ec2 无法运行由terraform创建的对AWS EC2的ansible
我有terraform创建的EC2,我可以使用以下方式登录EC2: ssh-vvv-i/home/ec2 user/.ssh/mykey.pub ec2-user@XX.XX.XX.XX没有密码,(XX.XX.XX.XX)是terraform创建的EC2的IP 但当我尝试在创建ec2时在terraform中运行ansible文件时,ansible无法运行,错误消息为:Amazon ec2 无法运行由terraform创建的对AWS EC2的ansible,amazon-ec2,ansible,terraform,Amazon Ec2,Ansible,Terraform,我有terraform创建的EC2,我可以使用以下方式登录EC2: ssh-vvv-i/home/ec2 user/.ssh/mykey.pub ec2-user@XX.XX.XX.XX没有密码,(XX.XX.XX.XX)是terraform创建的EC2的IP 但当我尝试在创建ec2时在terraform中运行ansible文件时,ansible无法运行,错误消息为: aws_instance.dev (local-exec): TASK [Gathering Facts] *********
aws_instance.dev (local-exec): TASK [Gathering Facts]
*********************************************************
The authenticity of host 'XX.XX.XX.XX (XX.XX.XX.XX)' can't be
established.
...
Are you sure you want to continue connecting (yes/no)?
aws_instance.dev: Still creating... (6m40s elapsed)
请注意,ansible yml是在我手动强制terraform休眠6m后启动的,当时EC2已经启动(我可以自己登录,尽管它显示“aws_instance.dev:仍在创建…”),即
我以ec2用户身份运行terraform,我将ansible yml设置为:
remote_user: ec2-user
become_user: ec2-user
ansible无法ssh到EC2的原因是什么?有一条消息要告诉您: 无法验证主机“XX.XX.XX.XX(XX.XX.XX.XX)”的真实性 已建立。
…
是否确实要继续连接(是/否)
在执行ansible playbook之前,请执行ssh keyscan XX.XX.XX.XX,或者在ansible中禁用。我在不工作之前执行了此操作。所以我创建了一个新密钥:ssh-keygen,ssh-agent-bash,ssh-add-key,然后在ansible-config中host\u-key\u-checking=False,这一次有效!谢谢你的回答!主机密钥检查=错误
remote_user: ec2-user
become_user: ec2-user