• 不得不承认这个标题有点长,简单而言本文将会讲述如何将 GPG Key 存储到一枚 Yubikey 上,以及如何使用 GPG Key 认证 SSH 登录。
  • 使用 Yubikey 的主要原因有两个:
    第一是可以防止密钥被复制,因为存储在 Yubikey 上的密钥只能被使用却无法被读取。
    第二是存储在 Yubikey 上的密钥被使用时需要触碰确认 (当 Yubikey 亮灯时),可以防止程序在没有通知用户的情况下使用密钥。
  • 注:
    文中代码中高亮部分为 shell command 或者需要手动输入的内容。
    本文使用 gpg-agent (代替 ssh-agent) 以及 Yubikey 的 OpenPGP 功能,而不是直接使用 ssh-agent 以及 Yubikey 的 PIV 功能。
    生成的密钥类型请选择 RSA (4096 bit),因为目前为止 Yubikey 尚不支持存储 ECC GPG KEY最新的 Yubikey 已经支持椭圆曲线 (ECC)。