首页
/ 在Hyper-V Ubuntu虚拟机中使用usbipd-win共享YubiKey FIDO2设备

在Hyper-V Ubuntu虚拟机中使用usbipd-win共享YubiKey FIDO2设备

2025-06-14 06:53:05作者:农烁颖Land

背景介绍

usbipd-win是一个Windows平台下的USB/IP实现工具,它允许用户通过网络共享USB设备。本文将详细介绍如何在Hyper-V虚拟机中的Ubuntu系统上通过usbipd-win共享和使用YubiKey的FIDO2功能。

准备工作

首先确保已在Windows主机上安装了最新版本的usbipd-win工具。同时,Hyper-V虚拟机中的Ubuntu系统需要安装usbip客户端工具:

sudo apt install linux-tools-generic linux-cloud-tools-generic

设备共享步骤

  1. 在Windows主机上识别YubiKey设备并绑定:
usbipd bind --busid=3-2
  1. 在Ubuntu虚拟机中连接到共享的USB设备:
sudo usbip attach --remote=192.168.1.200 --busid=3-2
  1. 验证设备是否已连接:
lsusb

常见问题解决

内核模块加载

部分情况下需要手动加载相关内核模块:

sudo modprobe vhci-hcd
sudo rmmod usbhid && sudo modprobe usbhid

权限问题

YubiKey设备需要正确的权限设置才能在浏览器中使用FIDO2功能:

  1. 下载并安装FIDO U2F udev规则:
sudo cp 70-u2f.rules /usr/lib/udev/rules.d/
sudo chmod 0644 /usr/lib/udev/rules.d/70-u2f.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
  1. 对于浏览器访问问题,可能需要以root身份运行浏览器并设置正确的X11认证:
sudo -i
cp -a /home/username/.Xauthority .
chown root: .Xauthority
XAUTHORITY=/root/.Xauthority sudo firefox

验证功能

访问YubiKey官方演示页面测试FIDO2功能是否正常工作。如果遇到问题,尝试清除浏览器缓存并重新连接设备。

注意事项

  1. 确保虚拟机网络配置正确,能够访问主机IP
  2. 每次重新连接设备后可能需要重新加载udev规则
  3. 浏览器可能需要刷新页面才能识别新连接的设备

通过以上步骤,用户可以在Hyper-V虚拟机中完整使用YubiKey的FIDO2功能,实现安全的Web认证体验。

登录后查看全文
热门项目推荐
相关项目推荐