我正在用Ansible编程一个简单的任务,以创建用户并添加现有的RSA公钥。这是我写的代码:
- name: SYSTEM - Create test user
tags: system-user
user:
name: "{{ test_user }}"
state: present
createhome: yes
- name: SYSTEM - Add existing pub key for test user
tags: system-user
copy:
content: "{{ test_user_pubkey }}"
dest: "/tmp/test_user_id_rsa.pub"
force: no
owner: "{{ test_user }}"
group: "{{ test_user }}"
mode: 0600
- name: SYSTEM - Set authorized key for test_user took from file
tags: system-user
authorized_key:
user: "{{ test_user }}"
state: present
key: "{{ lookup('file', '/tmp/test_user_id_rsa.pub') }}"
我编写的代码并不完美,我认为最好的选择是将现有的RSA公钥与用户创建块一起添加,以创建并填充authorized_keys
文件。
我已经阅读了Ansible用户模块,但ssh_key_file方法不包括将现有发布密钥的值回显到authorized_keys
文件的可能性(最终目的是能够使用用户和私钥与ssh进行远程连接)。
ssh_key_file =(可选)指定SSH密钥文件名。如果这是相对文件名,则它将相对于用户的主目录。
Ansible是否可以在用户模块中管理此过程?
您的问题的答案是:
- name: SYSTEM - Create test user
tags: system-user
user:
name: "{{ test_user }}"
state: present
createhome: yes
- name: SYSTEM - Set authorized key for test_user took from file
tags: system-user
authorized_key:
user: "{{ test_user }}"
state: present
key: "{{ test_user_pubkey }}"
这就是所需要的。
关于阅读文档,ssh_key_file
与生成SSH密钥对有关,这不是您想要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句