図1 GitHubに2要素認証の要素としてセキュリティキーを登録した例。サインイン画面でパスワードを入力した後、セキュリティキーを使用するボタンが表示される。なおここで「Enter a two-factor code from your phone」をクリックすると、従来通りワンタイムパスワードの入力による認証も可能となっている図2 セキュリティキーを使うと、ワンタイムパスワードのかわりに物理キーへのタップ操作を要求される。タップするだけで認証は完了する
ecdsa-sk/ed25519-skの鍵ペアを作成する
それでは実際に、Security Key by Yubicoを使ってSSHサーバーへのログインを行ってみましょう。今回はサーバー版の20.04 LTSを使い、自分自身にSSHログインすることで動作を検証しています。
$ ssh-keygen -t ed25519-sk
Generating public/private ed25519-sk key pair.
You may need to touch your authenticator to authorize key generation. ← ここでキーへのタッチを要求される
Enter file in which to save the key (/home/mizuno/.ssh/id_ed25519_sk): ← 鍵のファイル名を指定する。
Enter passphrase (empty for no passphrase): ← 秘密鍵のパスフレーズを入力する
Enter same passphrase again: ← パスフレーズを再入力する
Your identification has been saved in /home/mizuno/.ssh/id_ed25519_sk
Your public key has been saved in /home/mizuno/.ssh/id_ed25519_sk.pub
The key fingerprint is:
SHA256:9w8p7xZ3wdG8KHMlIjfn6pn5lC4BFEVN8/Nc7xgxCCk mizuno@focal
The key's randomart image is:
+[ED25519-SK 256]-+
| .=+oo ..|
| Eo.= =ooo|
| ..o * Bo+|
| . o + B=|
| S o = . =|
| . +..o+.|
| o O=...|
| O+o |
| o=o. |
+----[SHA256]-----+
$ ssh-keygen -t ed25519-sk
Generating public/private ed25519-sk key pair.
You may need to touch your authenticator to authorize key generation.
Key enrollment failed: device not found
Security Key by yubicoのタッチ操作は、あくまでキーを使用する合図でしかなく、指紋認証などでキーをロックしているわけではありません。タッチ操作を省いたからといってセキュリティレベルが下がるわけではありませんから、面倒ならタッチ操作は省いてしまいたいと思うのは人情というものでしょう。