创建我有EC2由terraform创建的,我可以通过登陆EC2: SSH -vvvv -i /home/ec2-user/.ssh/mykey.pub EC2用户@ XX.XX.XX.XX不带密码,(XX.XX.XX.XX)是由terraform创建的EC2的IP。不能运行ansible到AWS EC2由terraform
但是当我尝试创建EC2时terraform运行ansible文件,ansible无法运行和错误信息是:
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)
注意到我手动强制terraform睡觉与6m后ansible YML启动在那个时候,已经开始在EC2(我可以登录它自己,但它表明“aws_instance.dev:仍然创造......”),即
resource "aws_instance" "dev" {
...
provisioner "local-exec" {
command = "sleep 6m && ansible-playbook -i hosts myansible.yml"
}
...
}
我运行terraform为EC2用户,我设置ansible yml as:
remote_user: ec2-user
become_user: ec2-user
ansible不能ssh到EC2的原因是什么?
我之前没有工作过。所以我创建了一个新的密钥:ssh-keygen,ssh-agent bash,ssh-add key,然后host_key_checking = False进行配置,这次工作正常!感谢您的回答! – user389955
host_key_checking = False – user389955