本教程适用于:YubiKey 内部已存有 GPG 密钥,需要在另一台新的 Ubuntu 电脑上快速恢复使用的场景。
1. 安装必要组件
首先,安装用于读取智能卡和管理 GPG 的核心工具:
sudo apt update
sudo apt install gpg pcscd scdaemon -y
sudo systemctl enable --now pcscd
启动智能卡守护进程。
2. 识别 YubiKey 并生成私钥存根
插入 YubiKey,运行以下命令。这一步是告诉新系统的 GPG 引擎:私钥存在硬件中,而不是本地磁盘。
gpg --card-status
验证: 在输出信息中,确保能看到 Signature key, Encryption key, 和 Authentication key 的指纹信息。此时,GPG 已在本地创建了”私钥存根”。
3. 导入并信任公钥
GPG 需要公钥才能进行加密或验证签名。请选择以下其中一种方式:
方案 A:从公钥文件导入(最常用)
如果你有公钥备份文件(如 public.asc):
gpg --import public.asc
方案 B:从 YubiKey 记录的 URL 获取
如果你之前将公钥上传到了服务器并将 URL 存入卡内:
首先运行:
gpg --card-edit
进入交互模式后输入:
fetch
然后退出:
quit
4. 设置最终信任 (Ultimate Trust)
导入公钥后,必须手动将其标记为”最终信任”,否则 GPG 会因为无法确认密钥所属权而拒绝工作。
获取 Key ID
gpg --list-keys
编辑信任等级
gpg --edit-key [你的KEY_ID]
在交互界面依次输入
- 输入
trust - 输入
5(代表 I trust ultimately) - 输入
y - 输入
save