Wal*_*ter 4 i3 2-factor-authentication
我正在运行 i3 窗口管理器并在我的系统上进行 2 因素身份验证。看来 i3 和 i3lock 不支持 2 因素身份验证的附加提示,而只是将我输入的密码作为验证码输入管道。
这显然不起作用,除了修改我的 pam 配置和禁用 2 因素身份验证(对于 i3lock),是否有更好的方法让我也可以利用 i3lock 的 2 因素身份验证?
小智 5
i3lock 支持 PAM,这意味着它支持 2FA,但它可能不支持用户输入的视觉提示。大多数 Yubico 产品提供不同类型的 2FA。例如,请参见此处。
登录时最常见的 2FA 方法是 U2F 和挑战响应 (OTP)。i3lock 适用于两者。
不同的 2FA 方法需要用户在登录时执行不同的步骤:
pam_u2f.so)并将其放置在正确的位置(例如/lib/security)。如果您有 yubikey,请按照Yubico 的指南进行操作。/etc/pam.d/i3lock如果它不存在,则创建。这是默认文件,它只需要一个密码。#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'login' configuration file (see /etc/pam.d/login)
#
auth include login
Run Code Online (Sandbox Code Playgroud)
您现在有以下使用 Yubikey 进行身份验证的选项,尽管第一个(密码回退)只是单因素身份验证。
添加以下行之前的auth include login行。
auth sufficient pam_u2f.so nouserok cue
Run Code Online (Sandbox Code Playgroud)
如果您按回车键,这将解锁您的计算机,这将触发 i3lock 中的 PAM 身份验证(提示将挂起“验证”),然后按下应该闪烁的 Yubikey。
您也可以在没有插入 yubikey 的情况下,通过输入正确的密码来解锁您的计算机。 如果已插入,模块将等待 yubikey 失败,这将需要您拔掉它,或者等待它超时(访问计算机的无聊方式!)。
添加以下行后的auth include login行。
auth required pam_u2f.so nouserok cue
Run Code Online (Sandbox Code Playgroud)
如果您输入正确的密码,按回车键,然后按 Yubikey(它应该闪烁)以提供所需的第二个因素,这将解锁您的计算机。
/etc/pam.d/i3lock如果它不存在,则创建。(参见 U2F 的第 2 步)添加以下行之前的auth include login行。
auth sufficient pam_yubico.so mode=challenge-response
Run Code Online (Sandbox Code Playgroud)
当用户在锁定屏幕上按下 Enter 键时,这会触发 PAM,如果插入 Yubikey,计算机将解锁。
与 U2F 的选项 1 类似,您也可以通过在未插入 yubikey 的情况下输入正确的密码来解锁计算机。
添加以下行后的auth include login行。
auth required pam_yubico.so mode=challenge-response
Run Code Online (Sandbox Code Playgroud)
这需要插入 yubikey 和正确的密码。
如果您被锁定,请登录虚拟终端 (TTY)。你可以得到一个与ctrl+ alt+f2组合键。然后,您可以killall i3lock通过查看journalctl -x.
| 归档时间: |
|
| 查看次数: |
1554 次 |
| 最近记录: |