You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置Yubikey后如何用主密码执行GPG加密?Windows下Yubikey4离线问题

让我一步步帮你解决这两个关于YubiKey和GPG的问题:

问题1:设置YubiKey后,如何使用主密码进行GPG加密?

当你把GPG密钥迁移到YubiKey后,主密钥一般都会被你离线备份起来(毕竟主密钥太敏感,不能一直留在本地环境里)。要想用主密码(也就是主密钥的保护密码)来执行加密操作,得先把离线备份的主密钥导回本地GPG密钥环,步骤如下:

  • 找到你之前备份的主密钥文件(通常是.gpg格式,比如你命名的my-master-key.gpg)
  • 打开命令行工具(比如Windows的命令提示符、Git Bash或者GPG4win自带的终端),运行导入命令:gpg --import my-master-key.gpg
  • 导入完成后,加密时指定主密钥的指纹即可:gpg --encrypt --recipient <你的主密钥指纹> 要加密的文件.txt
  • 这时GPG会弹出提示让你输入主密钥的保护密码,输入正确后就能完成加密操作了。

⚠️ 重要提醒:主密钥用完一定要记得从本地密钥环删除,避免泄露风险,删除命令是:gpg --delete-secret-key <主密钥指纹>

问题2:Windows系统上YubiKey 4配置后,未插入时用主密码签名/加密报错“Please insert the card with serial number : XXXXXXXXXXX”,如何处理?

这个报错的核心原因是:GPG现在默认优先调用YubiKey里的子密钥来执行签名/加密操作,找不到YubiKey就会抛出这个提示。解决思路就是让GPG切换到使用你的主密钥,这里提供几种实用方法:

方法一:临时指定主密钥操作

每次执行签名或加密时,明确告诉GPG要使用主密钥,比如:

  • 签名文件:gpg --sign --default-key <主密钥指纹> 要签名的文件.txt
  • 加密文件:gpg --encrypt --recipient <主密钥指纹> 要加密的文件.txt
    这样GPG就会调用本地的主密钥,提示你输入主密码,而不是依赖YubiKey。

方法二:修改配置让主密钥成为默认

如果不想每次都手动指定密钥,直接修改GPG的配置文件即可:

  1. 在Windows系统中,GPG的配置文件路径一般是C:\Users\<你的用户名>\AppData\Roaming\gnupg\gpg.conf,也可以直接在文件管理器地址栏输入%APPDATA%\gnupg\gpg.conf快速打开
  2. 打开文件后,添加一行配置:default-key <你的主密钥指纹>
  3. 保存文件后,重启所有GPG相关的程序(比如Kleopatra、Git Bash),之后默认的签名/加密操作就会优先使用主密钥了。

方法三:确认主密钥已导入本地密钥环

如果上面的方法无效,先检查你的主密钥有没有成功导入本地密钥环。按照问题1里的导入步骤,把离线备份的主密钥导进来,GPG才能找到它来替代YubiKey的子密钥执行操作。

内容的提问来源于stack exchange,提问作者reesejohn291

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:32:39