2017-07-27 52 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