Yubikey覚書

2020/11/16

だいたいこれに従えばええ気がするな。

マネジメントキー・PIN・PUKを設定する

YubiKeyのパスワードっぽいやつら。ykmanを使うと簡単に変更できる1

$ sudo apt install yubikey-manager  # ykmanを入れる
$ ykman piv change-pin
$ ykman piv change-puk
$ ykman piv change-management-key

YubiKeyにGPG鍵を載せる

YubiKeyの外で作って載せる方法とYubiKeyの中で直接秘密鍵を作る方法とがある。 別場所に置いた秘密鍵を抜き取られる可能性が無いので後者のほうがセキュリティリスクが小さいが、 YubiKeyをなくすと当然秘密鍵もなくす。 またYubiKeyでCurve25519のGPG鍵を生成するためにはファームウェアのバージョンが5.2.3である必要がある2が、 このバージョンが出たのは2020年9月と比較的最近なので、新しくYubiKeyを買っても古いファームウェアが 載っている場合がある3。その場合でも、YubiKeyはセキュリティ上の設計から ファームウェアのバージョンアップをサポートしていない4ため、 そのまま使うしか無い。

使うときにYubiKeyが必要なSSH鍵を生成する

ssh-keygen-skサフィックス付きの鍵タイプを指定すると作成できる5no-touch-requiredをつけておけばYubiKeyへのタッチ操作も不要になる。

$ ssh-keygen -t ed25519-sk -O no-touch-required
$ vim authorized_keys
no-touch-required sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG...(略)

なおGPG鍵をSSH鍵として使う方法もある16


  1. Yubikey 5のPIVで遊ぶ ( SSH鍵生成&保管 ) - Qiita ↩︎

  2. YubiKey 5.2.3 Enhancements to OpenPGP 3.4 Support – Yubico ↩︎

  3. 実際2020年11月に買ったのにファームウェアのバージョンが5.1.2だった。悲しい。 ↩︎

  4. YubiKey Firmware Is Not Upgradeable – Yubico ↩︎

  5. 第620回 Ubuntu 20.04 LTSでU2F/FIDOデバイスを使ったSSHの2要素認証を試す:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社 ↩︎

  6. YubiKeyに秘密鍵管理を一元化してみた ↩︎

このエントリーをはてなブックマークに追加