GROG.authorized-key
授权密钥
一个用于管理授权密钥的角色。
以下角色与此角色协同工作:
management-user 角色将所有这些角色结合在一起,使其易于使用。
要求
- 主机应已为 ansible 使用做好准备(安装 python 等)。
- 根权限,例如
become: yes
角色变量
变量 | 描述 | 默认值 |
---|---|---|
authorized_key_list |
用户及其密钥的列表 (见详情!) | [] |
authorized_key_list_host |
用户及其密钥的列表 (见详情!) | [] |
authorized_key_list_group |
用户及其密钥的列表 (见详情!) | [] |
authorized_key_exclusive |
exclusive 的默认值 |
no |
authorized_key_key_options |
key_options 的默认值 |
/ |
authorized_key_manage_dir |
manage_dir 的默认值 |
yes |
authorized_key_state |
state 的默认值 |
present |
authorized_key_list
详情
authorized_key_list
、authorized_key_list_host
和 authorized_key_list_group
在管理授权密钥时会合并。你可以使用主机和组列表为每个主机或主机组指定密钥。
授权密钥列表允许你定义必须管理的用户及其密钥。列表中的每项由用户名和密钥列表组成。
变量 | 描述 | 默认值 |
---|---|---|
name |
用户名 | / |
authorized_keys |
密钥列表 | / |
authorized_keys
列表中的每个密钥可以有以下属性:
变量 | 描述 | 必需 | 默认值 |
---|---|---|---|
exclusive |
该密钥是否应为独占? | no | authorized_key_exclusive |
key |
SSH 密钥 | yes | / |
key_options |
前置到密钥的 SSH 密钥选项 | no | / |
manage_dir |
管理 authorized_keys 目录? | no | authorized_key_manage_dir |
path |
SSH 密钥的路径 | no | 'home_dir/.ssh/authorized_keys' |
state |
密钥的状态(present/absent) | no | authorized_key_state |
示例 authorized_key_list
authorized_key_list:
- name: testuser1
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
state: absent
- name: testuser2
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
依赖
无。
示例剧本
---
- hosts: servers
roles:
- { role: GROG.authorized-key, become: yes }
在 group_vars/servers.yml
中:
authorized_key_list_group:
- name: user
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
贡献
欢迎提供任何帮助、修改或想法 欢迎!
作者
由 G. Roggemans 编写
许可证
MIT