• 创建 Yubikey PAM 验证策略
    • 获取 YubiKey 的令牌 ID
    • 创建系统级别的 Yubikey 用户映射
    • 使用用户独立的 Yubikey 用户映射

    创建 Yubikey PAM 验证策略

    获取 YubiKey 的令牌 ID

    Yubikey 令牌 ID 是唯一标识 YubiKey 的公共标识符。您可以通过多种方式获取 Yubikey 令牌ID。

    最简单的方法是移除 Yubikey 生成的一次性密码的最后 32 位:

    1. 打开一个终端.
    2. 长按 Yubikey.
    3. 一个一次性密码会输入到终端中:
    1. cccccccgklgcvnkcvnnegrnhgrjkhlkfhdkclfncvlgj
    2. bash: cccccccgklgcvnkcvnnegrnhgrjkhlkfhdkclfncvlgj: command not found

    相应的令牌 ID 是 cccccccgklgc:

    1. cccccccgklgcvnkcvnnegrnhgrjkhlkfhdkclfncvlgj
    2. ┊← →┊┊← 32 →┊

    如果你有兴趣试试其他的方法的话,你可以激活本地 Yubikey PAM 模块中的调试模式然后使用它,这会将 ID 输出到调试信息中。也有一个输入令牌的 https://demo.yubico.com/modhex.php 选择 OTP 作为输入模式,令牌 ID 会输出到 Modhex encoded 变量中。

    创建系统级别的 Yubikey 用户映射

    创建 /etc/yubikeys , 它必须包含远程服务器上的 UNIX 用户名和它们的 Yubikey 令牌 ID,如果一个用户有多个 Yubikey 令牌 ID 的话可用冒号分割隔开,例如:

    1. <user-1>:<yubikey-id-1>
    2. <user-2>:<yubikey-id-1>
    3. <user-3>:<yubikey-id-2>:<yubikey-id-3>

    所以在这个例子中,我们为两个不同的用户设置相同的令牌 ID:

    1. root:cccccccgklgc
    2. foobar:cccccccgklgc

    然后设置正确的权限:

    1. chmod 644 /etc/yubikeys
    使用用户独立的 Yubikey 用户映射

    也可以为每个用户设置独立的映射文件,在这种情况下需要移除 authfile 指示 。

    首先在主文件夹下建立 .yubico 目录:

    1. mkdir -m700 /home/<user>/.yubico

    然后将映射添加到 /home/<user>/.yubico/authorized_yubikeys:

    1. <user>:<yubikey-id-1>