YubiKey 4のCCIDを無効化してGDM3でSmartcardと認識されないようにする
家で使ってるYubiKey 4を挿したままUbuntuを起動するとログイン画面(GDM3)でユーザー名を選択する画面が出ずにスマートカードログイン専用のインターフェースに切り替わってしまって、パスワード認証や指紋認証が使えなくなる。YubiKey挿しっぱなしだったわと気づいてUSBポートから抜けばいつものユーザーリストの画面に戻るけどもやや不便な状態だった。ただ初期インストール状態ではそういう風な動きにはならないっぽかったのでちょっと調べて対策した。
そもそもスマートカードをきちんとデスクトップログイン時の認証に使うには、ユーザーとの紐づけだったりそれなりのステップを踏む必要があって(チュートリアル例)、なぜスマートカードモードに行くのかよくわからなかった。ただバグ報告は存在して、いろいろ見てみるとpcscd
パッケージの有無でスマートカードモードに行くかどうかの違いがあったので、なんでこのパッケージがインストールされたかを見ると一目瞭然。
$ sudo apt autoremove --purge pcscd
REMOVING:
libccid* libyubikey-udev* pcscd* python3-fido2* python3-pyscard* python3-ykman* yubikey-manager*
Summary:
Upgrading: 0, Installing: 0, Removing: 7, Not Upgrading: 2
Freed space: 2,940 kB
Continue? [Y/n]
YubiKeyを設定するために入れているパッケージのせいでスマートカード用のサービスも入る、と。ちなみに以前はyubikey-personalization-guiを使ってたけどnobleにはなかったので、yubikey-manager-qtの方に移行したけど、これもupstream的には2026年2月でEOLみたい。結構バシバシEOLにして次はこれ使ってくださいね、みたいな方針らしい。
で、どうするのがいいかなと考えたけども、一番手っ取り早いのはそもそもYubiKey 4をスマートカードとして使っていないので機能自体を無効化した。
デフォルトでOTP+FIDO+CCID
となっているのを、
$ ykman list
YubiKey 4 (4.3.5) [OTP+FIDO+CCID] Serial: NNNNNNN
CCID(Chip Card Interface Device)を除いてあげる。
$ ykman config mode OTP+FIDO
Set mode of YubiKey to OTP+FIDO? [y/N]: y
Mode set! You must remove and re-insert your YubiKey for this change to take effect.
$ ykman info
Device type: YubiKey 4
Serial number: NNNNNNN
Firmware version: 4.3.5
Enabled USB interfaces: OTP, FIDO
Applications
Yubico OTP Enabled
FIDO U2F Enabled
FIDO2 Not available
OATH Disabled
PIV Disabled
OpenPGP Disabled
YubiHSM Auth Not available
これでykman
(yubikey-manager
パッケージ)の依存関係としてpcscd
がインストールされていて、さらにYubiKey 4が挿さっていたとしてもGDM3はユーザー名のリストを出すようになった。