GROG.authorized-key

授权密钥

Ansible Galaxy 构建状态 最新标签 Gitter 聊天

一个用于管理授权密钥的角色。

以下角色与此角色协同工作:

  • user,用于管理用户。
  • sudo,用于管理 sudo 权限。

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_listauthorized_key_list_hostauthorized_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

关于项目

A role for managing authorized keys.

安装
ansible-galaxy install GROG.authorized-key
许可证
mit
下载
258.9k
拥有者
Open Source Science and Technology