gitlab相同密钥绑定,如果禁用账户呢?可以绑定吗
结论
可以绑定相同的密钥对(公钥),前提是之前用户的密钥已彻底删除(而不是仅禁用用户)。
原理分析
GitLab 的 SSH 登录流程依赖 users_ssh_keys 表(或新版 schema 中的关联表)存储所有用户上传的公钥(fingerprint 唯一)。
字段示例:
| id | user_id | key | fingerprint | created_at |
|---|---|---|---|---|
| 1 | 1001 | ssh-rsa AAAAB3Nza… | SHA256:xxx | 2025-10-10 |
GitLab 全局唯一约束是 fingerprint,即:
在全系统中,fingerprint 不能重复。
也就是说:
- 如果 fingerprint 已存在(即某个用户有这把 key),其他人不能再加;
- 但如果该记录被删除(即从数据库中移除),fingerprint 就可重新使用。