- blogs:
- cles::blog
2023/04/09

Yubikey を SSH の公開鍵認証として使う


Yubikey を SSH の公開鍵認証として使う方法を試してみたら意外と簡単だったのでメモ。
Yubikey 内の公開鍵については事前に YubiKey PIV Manager を使って生成*1しておく必要がありますが、
最近の Windows11 は ssh
や ssh-keygen
があらかじめインストールされているので、OpenSCをインストールするだけで、以下のように公開鍵を取り出したり、サーバに接続することができます。
† 公開鍵の取り出し
公開鍵の取り出しはこんな感じで -D
オプションを使います。
PIV AUTH pubkey
で終わる行を、サーバ側の ~/.ssh/authorized_keys
に追加しておきます。
2048bit の場合には少し文字が長いので、誤って途中に改行を入れないように注意をする必要があります。
RSA 以外の鍵は今のところ対応していないようで、エラーメッセージが出ています(この Yubikey には ECC P386bit の鍵も生成してあります)。
C:\>ssh-keygen -D "\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll"
skipping unsupported key type
failed to fetch key
unknown certificate key type
failed to fetch key
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA User Authentication Public Key
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA User Authentication Certificate CA
ssh-rsa AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA PIV AUTH pubkey
† サーバへの接続
サーバへの接続はこんな感じで、こちらは -I
オプションを使います。
通常の公開鍵認証では秘密鍵のパスフレーズを入力しますが、ここでは Yubikey の PIN を入力することに注意が必要です*2。
C:\>ssh -I "\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll" user@example.jp
skipping unsupported key type
failed to fetch key
unknown certificate key type
failed to fetch key
Enter PIN for '########':(ここでYubikeyのPINを入力)
- *1: 秘密鍵を使用してSSH接続 | YubiKey サポート | ペンティオ(株)
- *2: 認証の上限まで間違えると、Yubikey がロックされてしまうので、リセットして鍵を再生成する必要があります。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/13922
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Thunderbird のメッセージをスレッド化しないようにする(7076)
2 . Word で数式がグレーアウトされていて挿入できないときは(6755)
3 . Windows 10 で勝手にログアウトされないようにする(5160)
4 . Firefox でパスワードが保存されるページとされないページの違い(3909)
5 . awk で指定した n カラム目以降を出力する(3484)
2 . Word で数式がグレーアウトされていて挿入できないときは(6755)
3 . Windows 10 で勝手にログアウトされないようにする(5160)
4 . Firefox でパスワードが保存されるページとされないページの違い(3909)
5 . awk で指定した n カラム目以降を出力する(3484)
cles::blogについて
Referrers