Yubikeyのキーボード入力を無効にする

FIDO U2F対応のデバイス認証に利用出来るYubikey。最近はGoogleだけでなくDropboxGithubでも使えるようになってきたので個人用に入手した。

購入したのはこちらのEdge-n。USBポートにほぼ埋まるので差しっぱなしで運用できる。

www.amazon.co.jp

早速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