簡體   English   中英

Ansible:在主機之間傳輸文件

[英]Ansible: transferring files between hosts

使用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使用的關鍵。 我是否只需要模板化腳本以推送到我的目標???

對於遇到此問題並有相同問題的任何人,我並沒有真正弄清楚,我只是決定將私鑰安裝在目標計算機的/ etc / ssh目錄中,並將其chmod設置為0600。我認為它基本上是安全的。因為它不需要瞬態(僅內存中)密鑰/密碼並具有冪等性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM