所以我这几天一直在尝试让 yubikey 直通工作,但没有成功。有谁知道我做错了什么或者我的设置有什么问题?
设置:
我使用 ubuntu 18.04 作为主机和访客。
用于虚拟化的 Libvirt
程序:
我使用以下 hostdev 部分通过 USB:
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<product id='0x1050'/>
<vendor id='0x0407'/>
</source>
</hostdev>
我启动虚拟机并验证 USB 是否已正确通过lsusb
。 (确实如此)
然后我尝试yubico-piv-tool -a status
看看钥匙是否有效。
结果:
yubico-piv-tool -a status
返回“无法读取设备”。
观察结果:
yubikey 在主机上运行,yubico-piv-tool -a status
按预期打印。当我在主机上
运行时,直通后 yubikey 仍然显示在主机上。 当直通处于活动状态时,yubikey 在主机上不起作用。 我尝试在 virtualbox 上通过 Windows 主机的笔记本电脑上的 yubikey 进行传递,并且无需额外设置即可成功。 我在 Linux 主机上尝试了 virtualbox,但没有成功,结果与 libvirt 相同。lsusb
当USB设备没有通过时,lsusb -t
表明它没有分配给任何驱动程序;当通过时,它由usbfs
驱动程序拥有,并且 libvirt-qemu 用户qemu-syst
进程打开设备。
我猜:
直通中缺少参数,并且密钥没有完全传递(与 CCID/FIDO/OTP 相关吗?)。
虚拟化软件无法断开设备与主机的连接。