hurricanehrndz.pam_yubikey
hurricanehrndz.yubikey
这个角色安装并配置 Yubico PAM 模块 (libpam-yubico)。配置包括两个额外的 PAM 配置文件,这些文件已在未修改的 Ubuntu "common-auth" 上进行了测试。一个是跳过常规 Unix 身份验证,另一个则不跳过。最后,它修改 sshd PAM 配置,使得只有属于 yubikey 组、UID >= 1000、提供有效的来自授权的 yubikey 的 OTP 以及正确的账户密码的用户才能成功验证。sudo PAM 配置也进行修改,以要求相同的条件进行成功验证,但不需要账户密码。
要求
- yubikey
- Yubico API 密钥
角色变量
以下变量来自其他角色和/或全局范围(即主机变量、组变量等),并且是对目标主机/主机进行任何更改的前提条件。
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
许可证
作者信息
Carlos Hernandez | 电子邮件