我的组织将在几天内需要多重身份验证 (MFA),并且我们使用 Microsoft 帐户。我在互联网上读到有适用于 Linux 的验证器应用程序。其中之一是验证器。
我不是最新的 Microsoft 服务,但是,看起来该应用程序提供了很多服务,即“Microsoft To-Do”和“Microsoft Azure”。另外,在微软的网站上有几种不同的方法:“身份验证器应用程序”、“电话”、“备用电话”、“安全密钥”、“办公电话”。
我尝试设置“身份验证器应用程序”和“安全密钥”身份验证方法。在这两种情况下,我最终都遇到了以下错误:
(authenticator:365334): Gtk-CRITICAL **: 08:26:43.787: _gtk_css_corner_value_get_y: assertion 'corner->class == >K_CSS_VALUE_CORNER' failed
2023-07-12T06:26:49.446034Z ERROR authenticator::widgets::accounts::add::imp: Failed to load from QR Code file: Invalid OTP uri format, expected otpauth, got phonefactor
据我了解此错误消息:我获得的 QR 代码只能与智能手机应用程序一起使用,并且 Authenticator GNOME 应用程序并不意味着取代 Microsoft 的 Android验证器应用程序还是其他一些 Microsoft MFA 服务?
我没有 Android 或 IOS 智能手机,我也不使用 Windows。是否可以在 Linux 上使用此 MFA 服务?
答案1
我不知道有关 Microsoft 执行 2FA 的方式的任何细节,但 Microsoft Authenticator 应用程序似乎可能使用与标准 TOTP 应用程序不兼容的专有协议或算法。此外,Microsoft 365 管理员能够并且被鼓励启用不允许标准 TOTP 的选项。当我现有的 TOTP 停止工作并且唯一接受的 2FA 形式是 iOS 或 Android 上的 Microsoft Authenticator 应用程序时,我现在遇到了这种情况。就我而言,甚至不再允许使用硬件密钥,并且我没有其他选项可用。如果您的管理员尚未禁用标准 TOTP,您应该能够进入“我的帐户”下的“安全性”并添加“其他”类型的 2FA,即 TOTP,并且适用于任何应用程序。如果禁用该选项,则根本不会出现该选项,您唯一的选择是在 Android 或 iOS 设备上安装 MS 应用程序。
更正和附加信息:您可以看到“我想使用不同的身份验证器应用程序”。当您尝试进行设置时链接,这将允许您使用任何 TOTP 应用程序。如果缺少此链接,则您将无法使用其他任何内容。这是带有屏幕截图的 Microsoft 文档: https://support.microsoft.com/en-us/account-billing/set-up-the-microsoft-authenticator-app-as-your-verification-method-33452159-6af9-438f-8f82-63ce94cf3d29
答案2
通常是正常的托普用作 MFA 或 2FA。由于它是一个开放标准,因此使用哪个应用程序来存储种子和生成 TOTP 是完全没有意义的。
如果您正在寻找移动 Linux 应用程序,请查看以下内容:https://linuxphoneapps.org/categories/multi-factor-authentication/
还有(桌面)密码保险箱(例如KeePassXC),它能够存储 TOTP 种子并为您生成 TOTP...但请注意,如果您将密码和 TOTP 种子存储在同一位置,则会抵消 MFA!特别是如果您的密码安全,或者更准确地说,数据库没有受到多个因素的保护。
这也是他们将 TOTP 添加到数据库的指南:https://keepassxc.org/docs/KeePassXC_UserGuide#_adding_totp_to_an_entry
如果您在以明文形式查找种子时遇到问题,只需使用 QtQR 之类的工具扫描 QR 码并手动提取即可。
答案3
出于类似的原因,我也在调查此事。
我最终安装了 Android-x86 VM 并在其中设置了 Microsoft Authenticator 应用程序。
这确实有效……但有点笨拙和尴尬。