给出了已在GitLab中注册的SSH公钥或指纹,我如何找出与该密钥相关联的帐户?
请注意,该密钥可能已注册为“部署密钥”,在这种情况下,我想知道注册该密钥的帐户。
我更想知道使用标准Web UI(如果可能)以及通过REST API以编程方式进行此操作的方法。如果上述两种方法都不可行,我将在必要时提供涉及挖掘GitLab内部信息的答案(例如,通过对GitLab数据库的查询)。
答案 0 :(得分:1)
我看不到任何将SSH密钥指纹作为参数的公共API(例如,在User API中)。
我看到它仅用作内部 API,用于检索实际的SSH密钥:merge request 250。
That code可以为您提供有关如何编写自己的搜索的线索。
答案 1 :(得分:1)
如果您可以访问postgres控制台:
root@gitlab:/# gitlab-psql
psql (9.6.8)
Type "help" for help.
gitlabhq_production=#
gitlabhq_production=# select a.name,a.username,b.fingerprint
from users a, keys b where a.id=b.user_id;
name | username | fingerprint
---------------+----------+-------------------------------------------------
Administrator | root | f4:cc:ec:76:d0:1c:86:1d:45:6d:a7:6e:b3:df:32:7c
(1 row)