hurricanehrndz.pam_yubikey

hurricanehrndz.yubikey

构建状态 Galaxy 角色 MIT 许可证

这个角色安装并配置 Yubico PAM 模块 (libpam-yubico)。配置包括两个额外的 PAM 配置文件,这些文件已在未修改的 Ubuntu "common-auth" 上进行了测试。一个是跳过常规 Unix 身份验证,另一个则不跳过。最后,它修改 sshd PAM 配置,使得只有属于 yubikey 组、UID >= 1000、提供有效的来自授权的 yubikey 的 OTP 以及正确的账户密码的用户才能成功验证。sudo PAM 配置也进行修改,以要求相同的条件进行成功验证,但不需要账户密码。

要求

角色变量

以下变量来自其他角色和/或全局范围(即主机变量、组变量等),并且是对目标主机/主机进行任何更改的前提条件。

  • yubikey_api_id (数字) - Yubico API ID。
  • yubikey_api_key (字符串) - Yubico API 密钥。

角色开关

默认情况下,该角色安装并编辑 PAM 配置,使得 ssh 守护进程要求同时提供 Yubico OTP 和密码以进行成功验证。这将导致 yubikey 组中的用户在获得访问权限之前需要三步验证。对于 sudo 验证,该角色将密码验证替换为 Yubico OTP。默认部署配置可以通过以下变量进行调整。

yubikey_sshd_and_pass

默认为 true,要求 Yubico OTP 和密码进行成功验证。设置为 false,仅要求 Yubico OTP。这将导致 sshd 除了指定在 sshd_config 中的认证方法(证书)外,还要求通过标志隐含的方法。

yubikey_sudo_and_pass

默认为 false,仅要求 Yubico OTP 以获得 sudo 权限。设置为 false,以便用 Yubico OTP 和密码保护 sudo。

yubikey_sudo_chal_rsp

默认为 false,未启用挑战响应身份验证方法。设置为 true,以通过 Yubico 挑战响应身份验证授予 sudo 权限。

yubikey_users

配置 Yubico OTP 和挑战响应身份验证的用户列表。有关示例,请参阅 角色默认值

依赖关系

无。

示例剧本

---
- hosts: all
  vars:
    yubikey_api_id: 1
    yubikey_api_key: "testkey"
  pre-tasks:
    - name: 更新 repo 缓存
      action: >
        {{ ansible_pkg_mgr }} update_cache=yes
  tasks:
    - name: 运行 pam-yubikey 角色
      include_role:
        name: hurricanehrndz.yubikey

许可证

MIT

作者信息

Carlos Hernandez | 电子邮件

关于项目

Ansible role to install and configure yubico pam module

安装
ansible-galaxy install hurricanehrndz.pam_yubikey
许可证
mit
下载
3.8k
拥有者
Software Mage/Wizard/Developer @Yelp | Technology fanatic with an unquenchable thirst for knowledge.