Linux仮想マシンでYubiKeyを使う | VMware Workstation

VMware Workstationを使ったWindows上のLinux仮想マシンにYubiKeyを接続する方法を整理します。

はじめに

こんにちは、@bioerrorlogです。

VMware Workstationを使ったWindows上のLinux仮想マシン(Ubuntu)にYubikeyを接続しようとしたところ、次のエラーが出て接続できませんでした。

Yubico.com YubiKey OTP+FIDO+CCID をこの仮想マシンに接続できません。ホストは入力のためにこのデバイスを必要としています。

f:id:BioErrorLog:20211010102621p:plain

この問題を解決し、Linux仮想マシン上でYubikeyを使う方法をまとめます。

作業環境

こちらの手順に従って構築したWindows10上のUbuntu仮想マシンで作業しています。

  • Windows 10
  • VMware Workstation 15 Player
  • Ubuntu 20.04
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

Linux仮想マシンでYubiKeyを使う

.vmx ファイルを編集

まず、仮想マシンとVMware Workstationをシャットダウンした状態で .vmxファイルに以下の2行を追加します。 .vmxファイルは、仮想マシンイメージのインストールディレクトリに配置されています。

usb.generic.allowHID = "TRUE"
usb.generic.allowLastHID = "TRUE"


編集したら.vmxファイルを保存し、仮想マシンを起動します。

仮想マシン上でYubikeyを接続

仮想マシンが起動したら、下画像のように設定タブからYubikeyを接続します。

"Shared Yubico Yubikey..."の方ではなく、"Yubico.com Yubikey..."の方を選択することに注意してください。

  • Player(P)
  • 取り外し可能デバイス(R)
  • Yubico.com Yubikey...
  • 接続 (ホストから切断) (C)

f:id:BioErrorLog:20211010110425p:plain

その後表示されるウィンドウメッセージには、そのままOKを押していきます。 f:id:BioErrorLog:20211010111216p:plain

f:id:BioErrorLog:20211010111242p:plain

Yubikeyの接続を確認

ここまでくれば、YubikeyがLinux仮想マシン上で使えるようになっています。

接続できていることをlsusbコマンドで確認してみましょう。

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 1050:0407 Yubico.com Yubikey 4 OTP+U2F+CCID
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Yubico.com Yubikey...の記載があります。 これで、Yubikeyが仮想マシンに接続できました。

おわりに

今回は、Linux仮想マシンにYubiKeyを接続する方法を整理しました。

元々のモチベーションとして、DfinityのInternet Identityをローカルで動かしたい、でもYubikeyが仮想マシンで認識されない!という状況がありました。

思った以上にYubikey接続問題にハマってしまい、この備忘録を書くに至ります。

最終的な解決策はシンプルでした。

後世の参考になれば幸いです。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work

参考

Unable to get yubikey neo u2f working in Linux inside of VMWare Workstation - Super User

https://support.yubico.com/hc/en-us/articles/360013647640-Troubleshooting-Device-Passthrough-with-VMware-Workstation-and-VMware-Fusion