【问题标题】:Ansible synchronize asking for a passwordAnsible 同步要求输入密码
【发布时间】:2015-10-25 13:05:32
【问题描述】:

我正在使用 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

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

DOMAIN\user@hostname's password:

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

我的问题是

  1. 如何解决或解决此问题,这样我就不必在每次使用同步模块时都输入密码?
  2. 这是同步模块当前预期的行为吗?还是这是 Ansible 中的错误?

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

出于可扩展性的原因,我不想使用复制模块。

我尝试过的事情

  1. 我已经看到了许多关于这个主题的其他问题,但我有 无法使用它们中的任何一个来解决我的问题或了解是否 这是预期的行为。
  2. Ansible 文档通常都很出色,但我在官方文档上找不到任何相关信息。
  3. 我尝试在清单文件中指定用户和密码,而不是使用 --ask-pass-u 参数。但是当我不必输入密码来收集事实时,同步模块仍然要求我输入密码。
  4. 我也尝试过设置--ask-sudo-pass,但没有帮助
  5. 我一直用的是CentOS 7的控制盒,不过我也试过Ubuntu 14.04的控制盒

谁能帮忙?

【问题讨论】:

  • 我有类似的问题。正如我所见,当 ansible_sudo == true 时,ansible 正在尝试从 root 用户进行 rsync。
  • Ansible 文档实际上非常糟糕。目前,文档看起来更像是一堆低质量的教程。

标签: deployment ansible rsync ansible-playbook


【解决方案1】:

要传递密码以同步模块,您可以像这样使用 --password-file 选项。

tasks:
- name: test_rsync
  synchronize:
    mode: pull
    src: rsync://user@host/your/remote/path
    dest: /your/local/path/
    rsync_opts:
      - "--password-file=/path/to/password_file"

【讨论】:

    【解决方案2】:

    如果您的 ansible 服务器凭据与您的目标主机不同,Synchronize 会要求您输入密码。我已经尝试了许多建议的解决方法,但没有一个奏效......

    最终我不得不使用 --sftp-extra-args 回到文件模块来实现我所需要的。它成功了。

    【讨论】:

    • 我们还没有从 Ansible 那里得到修复? :(
    • Ansible 的同步模块仅限于少数场景,我建议使用这样的东西: - 名称:下载文件命令:“curl -o /opt/files/my_file_name” args:警告:错误异步:7200 轮询:120
    【解决方案3】:

    为什么不使用像下面这样用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
    

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 2013-09-30
      • 2014-04-26
      • 2012-04-02
      • 2013-03-17
      相关资源
      最近更新 更多