ubuntu - 无法禁用 Ansible 的主机 key 检查

标签 ubuntu ssh vagrant ansible

我正在使用 Ansible 1.5.4Ubuntu 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/

相关文章:

postgresql - Docker,在包含 "ubuntu:14.04"的容器中安装 postgresql,离开容器时丢失

ubuntu - make 总是重建所有目标

ubuntu - 如何在 linux 中安装 android ndk?

symfony - 将Symfony 4项目部署到 digital ocean

linux - Bash:如何为 ssh 命令实时过滤 tee 输出?

ubuntu - MediaWiki 1.22.3 中的文件上传错误 - 无法创建目录 "mwstore://local-backend/local-public/7/70"

git - 来自 USB 的自定义 SSH

ruby - Chef - Chef::Resource::Application 中的 NoMethodError

mysql - 无法在 php artisan migrate 上连接到 mysql

vagrant - Packer 使用默认变量?