我开始使用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') }}"
Run Code Online (Sandbox Code Playgroud)
(我想知道为什么“键”使用查找,但这仅用于教育)
您在远程主机上创建用户,但尝试在本地主机上查找生成的密钥(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 }}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |