l3d.auth

ansible 角色 auth

============================== Ansible 角色用于管理和部署管理员及非管理员用户的 SSH 密钥

预期用途


这个角色旨在管理 Linux 主机,主要集中在根据配置将正确的 SSH 公钥部署到相应的用户。其他角色则负责创建用户和组、配置 SSHD、部署点文件或安装一些有用的包。

建议用于管理 Linux 主机的角色列表:

重要信息:


列出的角色使用相同的变量来创建账户、管理管理员等。但这些角色必须按正确的顺序运行才能正常工作。例如,你不能为尚未创建的用户部署 SSH 公钥。

变量


  • admins (默认 []):
    允许以 root 身份登录的 ssh 密钥列表。

  • accounts (默认 []):
    如果不存在,则将在此主机上创建的用户名列表。

  • users (默认 {}):
    用户名映射到允许登录的 ssh 密钥列表的字典。

  • ssh_public_key_store (默认 ssh_public_keys):
    Ansible 可以找到公钥文件的目录路径。

如需额外变量,请查看 defaults/main.yml

要将 GitHub 上的额外 SSH 密钥添加到用户,请使用 github_users: {} 设置。

文件


此角色假定所有所需的 ssh 密钥的 公钥 部分可以在 ssh_public_key_store 目录内找到。文件名必须遵循命名规范:username_idalg.pub,其中的 username 部分将被匹配。

示例


Alice 和 Bob 可以登录,并被允许在此主机上使用 sudo 命令成为 root

admins:
  - alice
  - bob

Alice、Bob 和 Eve 可以通过 SSH 登录到各自的用户账户:

users:
  alice:
    - alice
  eve:
    - eve@device1
    - eve@device2

Eve 可以使用两个不同的 ssh 密钥进行登录,而 Alice 只能使用自己的一个 SSH 密钥。

files/ssh_public_keys/ 包含以下文件:

alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub

Alice、Bob 和 Eve 希望成为此主机上的用户:

accounts:
  - alice
  - bob
  - eve

为本地用户 L3D 添加 GitHub 用户 DO1JLR 的 SSH 密钥:

github_users:
  l3d:
    - do1jlr

生成 ed25519 SSH 密钥


ssh-keygen -t ed25519
关于项目

Ansible Rolle to manage and deploy ssh keys of admin and non-admin users

安装
ansible-galaxy install l3d.auth
许可证
mit
下载
287
拥有者
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy