当前位置: 首页>>技术教程>>正文


ubuntu – 无法禁用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

最佳方法

您需要通过项目的Vagrantfile进行设置。当Vagrant Ansible设置者调用ansible-playbook时,它总是设置ANSIBLE_HOST_KEY_CHECKING环境变量的值。

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

次佳方法

可能不是您的问题,但值得一试:我对此感到停滞,直到意识到自己添加了

host_key_checking = False

在不是[defaults]的会话下进行。一旦我将其实际移动到[defaults]下,更改的主机密钥就不再停止任何操作。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8895.html,未经允许,请勿转载。