libpam-google-authenticator 在 kubuntu 23.04 上失败(似乎是由于 polkitd)

libpam-google-authenticator 在 kubuntu 23.04 上失败(似乎是由于 polkitd)

我已经使用 libpam-google-authenticator 好几年了。我总是将其设置为需要密码 + TOTP 令牌作为 pam 中的密码。我输入密码,然后按“onlykey”上的按钮,输入 TOTP 令牌并按 Enter 键。无痛且更安全。 SSH 显然使用 RSA,但所有其他登录:X、物理终端、sudo 等都需要密码 + TOKEN。这对于以前的安装来说完美无缺。然而现在,它神秘地失败了。在查看了 github 上的源代码后,我有一个想法,这可能与主机在调整时间偏差并尝试停止重播的多个代码实例中以 null 形式输入有关。

设置完成后,一切似乎都正常,但随着时间的推移,TOTP 令牌每次都失败。我做了以下事情:

  • 实时检查服务器日期/时间是否与 pool.ntp.org 匹配
  • 使用 oathtool 手动计算 TOTP 并比较唯一的关键输出(对于感兴趣的人,oathtool -b --totp "SECRET")

我可以在每个实例中看到时间是正确的并且 TOTP 是正确的,但 google 身份验证器声明它不正确。

我想在这里提出这个问题,看看是否有其他人看到过这个。现在,我的下一步行动是看看重启是否会改变什么。如果可行,那么我需要查看哪些服务需要重新启动。

编辑:

重新启动会很痛苦,而且我很懒,所以我运行了 systemctl 并发现了这个:

polkit.service                                                                           loaded active     running   Authorization Manager

重新启动该服务,它现在又可以工作了。所以我们有一个解决方法。有答案吗?

相关内容