部署 – Ansible同步请求密码

前端之家收集整理的这篇文章主要介绍了部署 – Ansible同步请求密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Ansible(1.9.2)将一些文件部署到Redhat 6.4服务器.

剧本看起来像这样

- name: deploy files
  hosts: web
  tasks:
    - name sync files
      sudo: no
      synchronize:
        src={{ local_path }}
        dest={{ dest_path }}

为了解决这个问题,我运行了类似下面的内容

ansible-playbook -i myinventory myplaybook.yml -u DOMAIN\\user --ask-pass

当我开始播放时,我在提示符下输入密码,然后成功获取事实,但是一旦达到同步任务,另一个提示再次询问我的密码,如下所示

DOMAIN\user@hostname's password:

如果我再次输入密码,则部署正确完成.

我的问题是

>我如何修复或解决这个问题,以便我不必为每次使用同步模块输入密码?
>这是同步模块当前预期的行为吗?或者这是Ansible中的错误

由于环境限制,我无法使用ssh密钥.

出于可伸缩性的原因,我不想使用复制模块.

我尝试过的事情

>我已经看到了关于这个问题的其他一些问题,但我有
无法使用其中任何一个来解决我的问题或了解是否
这是预期的行为.

> Ansible synchronize prompts passphrase even if already entered at the beginning
> Ansible prompts password when using synchronize
> https://github.com/ansible/ansible/issues/5934
> https://github.com/ansible/ansible/issues/7071

> Ansible文档通常很出色但我在官方文档上找不到任何相关内容.
>我尝试在库存文件中指定用户和密码,而不使用–ask-pass和-u参数.但是,当我不必输入密码来收集事实时,同步模块仍然会请求我的密码.
>我也试过设置–ask-sudo-pass,但它没有帮助
>我一直在使用CentOS 7控制盒,但我也尝试过Ubuntu 14.04盒子

有人可以帮忙吗?

解决方法

为什么不使用 Vault加密的库存(ansible-playbook -ask-vault-pass …)?
[targets]
other1.example.com    ansible_connection=ssh    ansible_ssh_user=mpdehaan   ansible_ssh_pass=foobar
other2.example.com    ansible_connection=ssh    ansible_ssh_user=mdehaan    ansible_ssh_pass=foobar123

猜你在找的Linux相关文章