0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Yubikey Neo で PIN + タッチ認証 (気分だけ FIDO2)

0
Last updated at Posted at 2026-06-10

はじめに

PAM モジュールをあさってたら pam_p11 というプロジェクトを見つけました。

スマートカードを使った認証ができそうです。
古い Yubikey Neo の使い道がなくて困ってたのですが、Yubikey Neo はスマートカードに対応しています。

Yubikey Neo を使うのであれば、スマートカードへのアクセスには PIN 入力が必要になります。

そして、本来の主機能の U2F, タッチによる認証は、pam_u2f で対応できます。

つまり、pam_p11 と pam_u2f を両方通過させるようにすれば、

  • Yubikey Neo を差す(または差さっている)
  • PIN を入力する
  • タッチする

という、気分だけなら FIDO2 を味わうことができます。

なお本記事は、履歴コマンドからなんとなくこれだったっけ?というのを選んでならべてるので、間違ってるかもしれません。-h や man, AI で良く確かめてください。

スマートカード使うための準備

まずスマートカードを Linux で扱うには PCSC Lite だかが必要です。
Arch wiki
や AI に、その辺は聞いてください。

Yubikey の PIV (スマートカード) の設定

ykman で全部できます。
Yubico 本家のガイド

# 鍵作成&署名
# 署名ってのが何か良くわかっていない
ykman piv keys generate --algorithm ECCP256 9a pubkey.pem
ykman piv certificates generate --subject "CN=yubico" 9a pubkey.pem

# PIN の変更 
# ユーザーと管理者
ykman piv access change-puk
ykman piv access change-pin

# 管理キーの変更
# 管理キーが何か分かっていない
# もともと乱数みたいな 16進が入ってると思うが、なんとなく変えてみた。必要性は知らない
> ykman piv access change-management-key -g

SSH のキーチェーンに登録

ssh-keygen -D /usr/lib/opensc-pkcs11.so >> ~/.ssh/authorized_keys

pam.d の書き方

pam_u2f は有名だし
Arch wiki
に書いてあるとおりにやればいいので省きます。

なんか pam_p11 のバグなのか仕様なのか、その pam のセッションの中で一回でも失敗してるとトークンを探しにいきません。なので、pam_p11 は先頭に書くか、そこまでに失敗してたら die するような使い方に限定できます。

残念ながら、新しい Yubikey から優先的に認証を終らせるみたいなことはできないです。

pam.d
# なんか 1回でも失敗してると、 pam_p11 がトークン見にいかない。
# こういう絶対に成功するはずのないパスワード、
# 成功するやつは /etc/shadow を破ったとしか思えんやつ、
# で待ち構えておふざけするということはできない。
#auth [success=die default=ignore] pam_unix.so

# 直前を成功させても無駄
#auth [success=ok default=ignore]  pam_permit.so

auth [success=ok default=die] /usr/lib/security/pam_p11.so /usr/lib/opensc-pkcs11.so
auth [success=done default=die] pam_u2f.so origin=hogehoge appid=hagahaga cue

pamtester で練習しながら書くといいです。こんな感じで古い Yubikey Neo でも FIDO2 気分が味わえます。

> pamtester orep11 jiro authenticate
yubicoでログイン:
Please touch the FIDO authenticator.
pamtester: successfully authenticated

まとめ

メリット

  • 古い NEO でも FIDO2 気分が味わえる。

デメリット

  • 自分システムにしか使えない
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?