SSH 密钥多了管不过来?密钥管理实战
从一台 VPS 到十台,从一台电脑到三台设备,SSH 密钥很快就会乱成一锅粥。小够分享密钥管理的实战经验:一个设备一个密钥、config 文件分组管理、离职交接与密钥轮换、丢了设备的应急流程。
我是小够。密钥登录大家都会配了,但很快会遇到新问题:电脑有两台、VPS 有五台,哪个密钥对应哪台?离职交接、设备丢失时怎么办?今天讲密钥的管理——配密钥是入门,管好密钥才是进阶。
原则一:一个设备一个密钥
别所有设备共用同一个私钥。笔记本一个、台式机一个、手机 Termius 一个。这样某个设备丢了,只吊销它对应的公钥,其他设备不受影响。生成时用 -C 备注清楚:
ssh-keygen -t ed25519 -C "macbook-2025"
ssh-keygen -t ed25519 -C "home-pc-2025"
文件名也别都叫 id_ed25519,用 -f 指定:~/.ssh/id_macbook、~/.ssh/id_homepc,一目了然。
原则二:config 文件是总管
~/.ssh/config 按主机分组,每个 Host 指定用哪个密钥:
Host 博客VPS
HostName 1.2.3.4
User xiaogou
Port 2222
IdentityFile ~/.ssh/id_macbook
Host 测试机
HostName 5.6.7.8
User ubuntu
IdentityFile ~/.ssh/id_homepc
之后 ssh 博客VPS 就行,不用记 IP、端口、密钥。机器一多,这个文件的价值就体现出来了。
原则三:公钥清单要留档
每台服务器的 ~/.ssh/authorized_keys 里有哪些公钥,心里要有数。定期检查:
cat ~/.ssh/authorized_keys | cut -d' ' -f3
注释字段(第三段)就是你当初 -C 写的名字,一眼看出每个密钥属于哪台设备。来历不明的密钥直接删——宁可误删再加,不可留着可疑的。
密钥轮换:一年一次
密钥不像密码需要频繁换,但建议一年轮换一次,或者在以下情况立即轮换:设备丢失/被盗、怀疑私钥泄露、人员变动。流程:新设备生成新密钥 → 公钥追加到服务器 → 测试新密钥能登录 → 删除旧公钥。一气呵成,别拖。
设备丢了怎么办
- 第一时间从所有服务器的
authorized_keys里删掉该设备的公钥; - 如果该设备还存了服务器密码(不应该,但以防万一),改密码;
- 检查
auth.log/last有没有异常登录记录; - 重新生成新密钥对给新设备。
这也是"一个设备一个密钥"的原因:丢一台,只吊销一个,损失可控。
私钥的存放
私钥文件权限必须是 600,ssh 会拒绝权限过大的私钥。别把私钥放网盘、别发微信、别截图。备份私钥用加密 U 盘或密码管理器,别明文存。
ssh-agent:不用每次都输 passphrase
密钥设了 passphrase 每次都要输?用 ssh-agent 缓存:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_macbook
输一次 passphrase,之后这个终端会话里都不用再输。macOS 更省心,ssh-add --apple-use-keychain 存进钥匙串,开机自动加载。Windows 的 OpenSSH 自带 ssh-agent 服务,设成自动启动就行。
手机端密钥怎么管
手机上用 Termius、JuiceSSH 这类 App,连 VPS 应急很方便。密钥管理原则不变:手机单独生成一个密钥对(别把电脑的私钥拷过去),公钥加到服务器,手机丢了只吊销这一个。App 里一般支持导入私钥文件,操作一次就行。
旧密钥退役流程
轮换不是"加上新的就完事",旧的要干净下线:
- 新密钥生成、公钥追加到所有服务器;
- 逐台测试新密钥能登录;
- 从所有
authorized_keys里删除旧公钥; - 本地删除旧私钥文件(或归档到加密存储);
- 在你的密钥清单文档里更新记录。
第 3 步最容易漏:很多人加了新的,旧的一直躺在服务器上,等于轮换了个寂寞。清单文档的作用就在这里——每台服务器有哪些密钥,一目了然。
密钥清单文档长什么样
不用复杂,一个表格就行:
| 设备 | 密钥备注 | 创建时间 | 状态 |
|---|---|---|---|
| MacBook | macbook-2025 | 2025-01 | 在用 |
| 台式机 | home-pc-2025 | 2025-01 | 在用 |
| 旧手机 | phone-2024 | 2024-06 | 已吊销 |
存在密码管理器或加密笔记里。轮换、吊销、审计,全靠这张表。
小够的总结:密钥管理的本质是"可追溯、可吊销"。每个密钥都知道是谁的、哪台设备的,丢了能单独作废,这就够了。个人用户做到"一设备一密钥 + config 管理 + 一年一换",已经超过 90% 的人了。