问题场景
把某个ssh key加到某账户下,但加不进去,错误提示:Fingerprint has already been taken,而且这个key也无权限拉新仓库的代码想加下,不知道怎么加。
可能是加到某离职同学的名下了,但不知道是谁。
解决方法
出现此问题的原因是因为这个ssh key已经被加到了其他账户下,在gitlab里ssh key只能被加一次。那么问题来了:被加到哪个账户下了呢?
ssh key可能会加到 某账户下的ssh key或某仓库的deploy keys
gitlab管理后台没有提供类似的查询方法,只能一个一个的用户或仓库下去看,但这种方法显然不可取,所以想到采用gitlab的api接口来实现,通过sskey的关键字来做grep搜索。假如关键词为:deploy@5bug.wang,这里偷懒采用枚举的方法去实现了。
- 查询用户的SSH key
接口文档:https://gitlab.com/help/api/keys.md
Get SSH key with user by ID of an SSH key
curl --header "PRIVATE-