だいたいこれに従えばええ気がするな。
# マネジメントキー・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
サフィックス付きの鍵タイプを指定すると作成できる5。
no-touch-required
をつけておけばYubiKeyへのタッチ操作も不要になる。
$ ssh-keygen -t ed25519-sk -O no-touch-required
$ vim authorized_keys
no-touch-required [email protected] AAAAGnNrLXNzaC1lZDI1NTE5QG...(略)
-
YubiKey 5.2.3 Enhancements to OpenPGP 3.4 Support – Yubico ↩︎
-
実際2020年11月に買ったのにファームウェアのバージョンが5.1.2だった。悲しい。 ↩︎
-
第620回 Ubuntu 20.04 LTSでU2F/FIDOデバイスを使ったSSHの2要素認証を試す:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社 ↩︎