2015-06-18 89 views
0

當然,我試圖將應用程序工件從遠程服務器「artifacts_host」複製到目標機器,即我的清單中的主機。我試圖運行遊戲是一樣的東西:Ansible:在主機之間傳輸文件

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

我已經非常接近得到這通過使用ansible穹頂工作加密與artifact_host的公鑰,然後一個「secrets.yml」變量文件像目標機器的權威性文件,安裝了它:

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

,但問題是,Ansible傳遞給它我artifacts_host無法解析從FQDN的IP地址。如果我能夠「通知」要使用的IP的artifacts_host(什麼fqdn 應該解決),那麼我會沒事的。我也沒問題,目標機器上的任務從artifacts_host拉出來,但我找不到完成此操作的冪等方式,也不知道如何向目標機器提供登錄名/密碼或ssh使用鑰匙。 我只是要模板出腳本推到我的目標?

回答

0

對於任何遇到此問題並且具有相同問題的人,我並沒有真正理解它,我只是決定將私鑰安裝在目標機器的/ etc/ssh目錄中,並將其修改爲0600。它基本上是安全的,因爲它沒有瞬時(僅限內存)密鑰/密碼和冪等性。

相關問題