YubiKey初使用


发布于

|

分类

前些日子买了个 YubiKey,今天依旧不想看代码(盯着一百行代码看了俩星期了,有点抑郁),那么就继续学习新知识。

YubiKey

呐,就是这个像 U 盘一样的东西。据说有三种工作模式:

  • 第一种是“键盘模式”,摸一下就生成一个动态密码 / 自动输入固定密码,我觉得没啥用,而且一摸就会产生一串神秘代码,就直接拿 yubikey-personalization-gui 这个东西给干掉了(囧)
  • 第二种是“U2F 模式”,两步验证,可以理解为上古时期的“盛大密保”/“将军令”、现在的“短信验证码”/“Google 身份验证器”,不需要做什么配置,能用的话插上去、摸一下就好了
  • 第三种是“GPG 智能卡模式”,可以存三个 GPG 密钥。

三种模式同时工作,互不影响。其中第一种模式还可以区分 “短摸” 和“长摸”,能分别设置不同的密码生成模式。

Yubikey
  +- HID
  |   +- U2F
  |   +- OTP (2 Slots)
  |       +- Yubico OTP
  |       +- OATH TOTP / HOTP
  |       +- Static Password
  |
  +- Challenge-Response (Share Slots w/ OTP)
  |    +- Yubico OTP
  |    +- HMAC-SHA1
  |
  +- Smart Card
      +- PIV (18 Slots, 4 main slots)
      +- OpenPGP (3 Slots)

总之就是上面的一大堆功能啦,官网都说不清楚……

使用GPG密钥免密码登录服务器

可以看这篇重新整理过的文章。每一步操作做啥都写清楚了。

作为二次验证设备

目前已经有一些网站支持YubiKey作为二次验证设备登录了,比如在Google、Github、Dropbox都可以使用。这样就不用每次输入短信验证码啦,只需要把Key插上去、摸一下,就能通过验证。

并且,如果你买的是YubiKey 5C NFC的话,它的NFC是支持给iPhone用的。遇到需要刷二次验证设备的时候,将YubiKey靠近iPhone头部,就能通过验证了。

使用YubiKey作为二次验证设备登录Google

有些网站不支持物理的二次验证设备,只支持类似于「Google身份验证器」那样的设备。这个时候,我们可以在手机上下载YubiKey,然后扫描给出的设备绑定二维码,再将YubiKey靠近iPhone头部,以将信息刷给YubiKey。注意这里是刷给YubiKey,也就是说,这个验证信息是存储在YubiKey里面的。在其他手机上用YubiKey APP刷当前这个YubiKey,也是可以拿到验证码的。

给Github提交添加签名

可以按照这个官方教程来。

想Commit自动签名的话,小小设置一下:

git config --global user.signingkey XXXXXXXX
git config --global commit.gpgsign true

觉得目前看来更多是为了装13……

本地二次认证

即使知道我的sudo密码,也必须插上Key、摸一下才能sudo~

首先,安装u2f-host

然后,使用pamu2fcfg -u${USER} > ~/.config/Yubico/u2f_keys 并摸一下,以注册设备。(其实会生成一串神秘代码,格式为<username>:<KeyHandle1>,<UserKey1>

最后,来到/etc/pam.d,如果想在执行sudo的时候加上二次验证,就编辑sudo,加入auth sufficient pam_u2f.so。这样输入密码后必须再摸一下才能真正执行。

参考资料


评论

  1. 玖音 的头像
    玖音

    似乎很有用的样子。

    1. 小金鱼儿 的头像
      小金鱼儿

      “买了高强度加密设备,发现好像并没有什么值得加密的东西”……

回复 玖音 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注