Ansible authorized_key无法找到密钥文件

时间:2017-07-27 08:41:08

标签: ansible

我开始使用Ansible自动创建用户。以下代码创建用户和/home/test_user_003/.ssh/id_rsa.pub文件。

但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') }}"

(我很想知道为什么"键"使用查找,但仅限于教育)

1 个答案:

答案 0 :(得分:4)

您在远程主机上创建用户但尝试在本地主机上查找生成的密钥(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 }}"
相关问题