Yubikeyのキーボード入力を無効にする
FIDO U2F対応のデバイス認証に利用出来るYubikey。最近はGoogleだけでなくDropboxやGithubでも使えるようになってきたので個人用に入手した。
購入したのはこちらのEdge-n。USBポートにほぼ埋まるので差しっぱなしで運用できる。
早速PCのUSBポートに挿してみると、キーボードの設定ウィザードが立ち上がる。どうもキーボードとして認識されているらしい。 さらにデバイスの頭のところを触ると謎の文字列が入力される。これは二段階認証でChromeを使っている間だけでなく、どのアプリでも入力されてしまう。
調べてみるとこれは意図的にやっているらしい。
Why does the YubiKey act as a keyboard? | Yubico
各種OSで認識されやすくするのと、OTPなどを使いやすくために、あえてキーボードとして振る舞うようにしているとのこと。
個人的にはOTPは使わないし、不意に触って事故ってしまう危険の方が高いので、無効にできないか調査。やはり同じく気になっている方もいるようで、いくつかの方法があった。自分はすでにKarabiner を使っているので、今回はこれを使って設定する。 *1
KarbinierのGithubのIssueにYubikeyのキーボード入力をON/OFFする設定についてのやりとりがあり、ありがたいことに設定例まで残してくれていた。そこから最低限の部分を抜き出して以下のprivate.xmlを作成。
適用するには以下の手順。
- Karabinerのメニューから設定を起動しprivate.xmlを開く
- 上記の設定をペースト (すでに設定がある場合はitemのみをコピー)
- Karabinerの設定画面に戻りXMLを再読み込み
- Ignore Yubikey keyboard inputという設定が表示されるので、チェック
これでYubikeyをタッチして何も入力されなくなればOK。
*1:試していないがyubiswitchというアプリもある。pallotron/yubiswitch · GitHub