换句话说,我需要通过udev
为设备添加规则来允许我的 Linux 帐户访问我的 Yubikey 标准(安全密钥)。
前言:
我试图将 Yubikey Standard 添加为 Google 帐户的 2FA 中的安全密钥以及 Google Authenticator。事实证明它不起作用。单击帮助链接将转到常见问题解答:https://support.google.com/accounts/answer/6103543
如何使我的安全密钥适用于 Linux?
如果您使用的是 Linux,则需要通过为设备添加 udev 规则来允许您的 Linux 帐户访问您的安全密钥。有关详细信息,请参阅安全密钥供应商的帮助页面。
在 yubikey 的网站上找不到任何帮助页面,至少有一个我能理解的。顺便说一句,它是一个旧版/折扣版Yubikey2
(型号名称为Yubikey Standard
),是non-U2F device
.这是该设备的确切外观:
(来源:尤比科网)
操作系统:Linux Mint 18.1 肉桂 64 位
肉桂版本:3.2.7
Linux 内核:4.4.0-21-通用
YubiKey 固件版本:2.4.2
支持的功能:✓Yubico OTP、✓2 个配置、✓OATH-HOTP、✓静态密码、✓扫码模式、✓挑战-响应、✓可更新
不支持的功能: ✗Ndef,✗通用第二因素
答案1
您需要添加一条规则,允许某些非 root 用户写入您的密钥:
/etc/udev/rules.d# cat 70-u2f.rules
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120"
检查您lsusb
有疑问的供应商和产品 ID,我的密钥看起来与您的不完全一样,...
答案2
这可能会有所帮助:在 Linux 上使用 U2F YubiKey
摘自本文:
要为 U2F 设置 Linux 系统:
- 如果您有 YubiKey NEO 或 YubiKey NEO-n,请确保您已按照启用或禁用连接接口一文中的说明解锁 U2F 模式
去https://github.com/Yubico/libu2f-host/blob/master/70-u2f.rules并将名为 70-u2f.rules 的文件下载或创建一个副本到 Linux 目录中: /etc/udev/rules.d/ 如果该文件已存在,请确保内容与 github.com/ 上提供的内容类似Yubico(上面的链接)。
注意:如果您的 UDEV 版本低于 188,请使用以下规则:https://github.com/Yubico/libu2f-host/blob/master/70-old-u2f.rules反而。如果您不知道 udev 版本,可以通过在终端中运行“sudo udevadm --version”来检查。
保存文件,然后重新启动系统。
确保您运行的是 Google Chrome 版本 38 或更高版本。从 Chrome 版本 39 开始,您将能够在 U2F+HID 模式下使用 YubiKey NEO 或 YubiKey NEO-n
引用的文件有这一行:
# Yubico YubiKey KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0200|0402|0403|0406|0407|0410", TAG+="uaccess"