我正在使用 Ansible 1.5.4 在 Ubuntu 14.04 LTS 上配置我的 Vagrant 1.4.3 box。
我在详细模式下收到以下错误消息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
最佳答案
您需要通过项目的 Vagrantfile
来设置它。当 Vagrant Ansible provisioner 调用 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
关于ubuntu - 无法禁用 Ansible 的主机 key 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23492032/