Ansible:在主机之间传输文件

时间:2015-06-18 19:55:35

标签: ansible

使用ansible,我正在尝试将应用程序工件从远程服务器“artifacts_host”复制到目标计算机,即我的清单中的主机。我试图运行的剧本是这样的:

- name: rsync WAR artifact from artifacts host
  synchronize: >
    src={{ artifacts_path }}/{{ artifact_filename }}.war
    dest={{ artifact_installation_dir }}
  delegate_to: "{{ artifacts_host }}"

我非常接近使用ansible-vault使用artifact_host的公钥加密“secrets.yml”变量文件,然后将其安装在目标机器的auth文件上,如下所示:

- name: install artifacts_host's public key to auth file
  authorized_key: >
    user={{ ansible_ssh_user }}
    key='{{ artifacts_host_public_key }}'
  sudo: yes

但问题是我的artifacts_host无法解析Ansible传递给它的FQDN中的IP地址。如果我能够“通知”要使用的IP的artifacts_host(fqdn 应该解析为什么)那么我会没事的。我也可以在目标机器上启动任务以从artifacts_host中取出,但我找不到完成此功能的幂等方法,也无法弄清楚如何向目标机器提供登录名/密码或ssh使用的关键。 我是否只需要模拟出一个脚本来推送我的目标???

1 个答案:

答案 0 :(得分:0)

对于任何遇到此问题并且有相同问题的人,我都没有弄明白,我只是决定在目标机器中安装私钥' / etc / ssh目录并将其chmod到0600.我认为它基本上是安全的,因为没有瞬态(仅在内存中)密钥/密码和幂等性。