我把磁盘上的 SSH 私钥全删了:改用 YubiKey、TPM 与 Secure Enclave
来源:blog.infected.systems — 2026-11-03
📋 概述
作者长期使用 ed25519-sk 硬件密钥,但仍留着几个裸私钥文件等待清理。这篇文章把三种硬件保管方案逐一跑通:YubiKey 的 resident key、Linux 的 TPM(配合 ssh-tpm-agent)、以及 Apple Secure Enclave,目标是不让任何未加密的密钥材料落在磁盘上,并在 LXC 与非交互式 SSHFS 等真实场景里验证可用性。
🔑 核心要点
- 作者先承认了反面意见:口令加密加 ssh-agent 对多数威胁模型已经够用,他换硬件主要是图个踏实
- YubiKey 一条 ssh-keygen -t ed25519-sk -O resident 即可,磁盘上留下的那个私钥文件其实只是指向硬件的句柄
- no-touch-required 能支持无人值守,代价是拿到主机权限的人也能直接使用密钥,需要在风险上做取舍
- TPM 方案需要额外的 ssh-tpm-agent,且必须在远端 authorized_keys 里加前缀,否则 OpenSSH 默认安全设置会拒绝
- 三种方案的目标一致:硬件不在手边时,磁盘上残留的任何材料都是无用的
💡 金句
硬件生成密钥的理论好处是:使用这把密钥必须有那块硬件,没有任何机制能把密钥导出。
← 返回 Lobsters 首页