2017-07-27 82 views
0

我開始使用Ansible來自動創建用戶。以下代碼創建用戶和/home/test_user_003/.ssh/id_rsa.pub文件。Ansible authorized_key找不到密鑰文件

但authorized_key步驟給出錯誤「在查找中找不到文件」。它在那裏,我可以看到它。

--- 
    - hosts: test 
    become: true 
    tasks: 
    - name: create user 
     user: 
     name: test_user_003 
     generate_ssh_key: yes 
     group: sudo 
     ssh_key_passphrase: xyz 
    - name: Set authorized key 
     authorized_key: 
     user: test_user_003 
     state: present 
     key: "{{ lookup('file', '/home/test_user_003/.ssh/id_rsa.pub') }}" 

(我很想知道爲什麼「鑰匙」使用查找,但多數民衆贊成只有教育)

+0

哪臺機器上,你尋找的鑰匙嗎? – ThoFin

回答

1

創建遠程主機上的用戶,但嘗試查找本地主機上生成的密鑰(在所有查詢ansible在本地執行)。

您可能希望捕獲(註冊)用戶任務的結果,並使用它的領域:

- name: create user 
    user: 
    name: test_user_003 
    generate_ssh_key: yes 
    group: sudo 
    ssh_key_passphrase: xyz 
    register: new_user 
- name: Set authorized key 
    authorized_key: 
    user: test_user_003 
    state: present 
    key: "{{ new_user.ssh_public_key }}" 
+0

值得一看:https://stackoverflow.com/questions/42229165/ansible-authorized-key-module-unable-to-read-public-key/42230780#42230780 –

+0

非常好,非常感謝 – Ribeye