无法禁用Ansible的主机密钥检查

时间:2014-05-06 10:22:49

标签: ubuntu ssh vagrant ansible

我正在使用 Ansible 1.5.4 Ubuntu 14.04 LTS 上配置我的 Vagrant 1.4.3 框。

我在详细模式下收到以下错误消息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

我可以:export ANSIBLE_HOST_KEY_CHECKING=False我的~/.ansible.cfg中有以下几行:

[defaults]
host_key_checking = False

但它没有帮助。

可能是什么问题?谢谢!

更新#1

我这样直接调用它(不使用vagrant命令):

ansible-playbook playbook.yml -i inventory.ini --user=vagrant --ask-pass -vvvv

库存是:

[default]
localhost:2222

1 个答案:

答案 0 :(得分:10)

您需要通过项目的Vagrantfile进行设置。当Vagrant Ansible供应商致电ansible-playbook时,总是 sets the value of the ANSIBLE_HOST_KEY_CHECKING environment variable

Ansible本身takes the value of the environment variable if present。因此,Vagrant将覆盖ansible.cfg中使用的值。

因此,您只需要:

machine.vm.provision :ansible do |ansible|
  ansible.host_key_checking = false
  # etc.
end