2.3.10. 使用 oathtool 命令为多因素身份验证创建 seed


要设置多因素身份验证(MFA),您必须创建一个 secret,供基于时间的一次性密码(TOTP)生成器和后端 MFA 系统使用。您可以使用 oathtool 生成十六进制的 seed 以及可选的 qrencode 来创建 QR 代码,将令牌导入到您的 MFA 设备。

先决条件

  • Linux 系统。
  • 访问命令行 shell.
  • rootsudo 访问 Linux 系统。

流程

  1. 安装 oathtool 软件包:

    [root@dev]# dnf install oathtool
  2. 安装 qrencode 软件包:

    [root@dev]# dnf install qrencode
  3. urandom Linux 设备文件中生成 30 个字符,并将其存储在 shell 变量 SEED 中:

    示例

    [user@dev]$ SEED=$(head -10 /dev/urandom | sha512sum | cut -b 1-30)

  4. 通过在 SEED 变量中运行 echo 来打印 seed:

    示例

    [user@dev]$ echo $SEED
    BA6GLJBJIKC3D7W7YFYXXAQ7

  5. SEED 馈送到 oathtool 命令中:

    语法

    oathtool -v -d6 $SEED

    示例

    [user@dev]$ oathtool -v -d6 $SEED
    Hex secret: 083c65a4294285b1fedfc1717b821f
    Base32 secret: BA6GLJBJIKC3D7W7YFYXXAQ7
    Digits: 6
    Window size: 0
    Start counter: 0x0 (0)
    
    823182

    注意

    base32 secret 需要在您的 MFA 设备的 authenticator 应用程序中添加令牌。您可以使用 QR 代码将令牌导入到验证器应用程序,或使用 base32 机密手动添加它。

  6. 可选:创建一个 QR 代码镜像文件,将令牌添加到验证器中:

    语法

    qrencode -o /tmp/user.png 'otpauth://totp/TOTP_SERIAL?secret=_BASE32_SECRET'

    TOTP_SERIAL 替换为代表(TOTP)令牌 ID 的字符串,并将 BASE32_SECRET 替换为 oathtool 生成的 Base32 secret。

    示例

    [user@dev]$ qrencode -o /tmp/user.png 'otpauth://totp/MFAtest?secret=BA6GLJBJIKC3D7W7YFYXXAQ7'

  7. 扫描生成的 QR 代码镜像文件,将令牌添加到 MFA 设备的验证器应用程序中。
  8. 使用 radowgw-admin 命令为用户创建多因素身份验证 TOTP 令牌。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部