GitLab: как найти владельца ключа SSH - PullRequest
0 голосов
/ 15 января 2019

Учитывая открытый ключ SSH или отпечаток пальца, который был зарегистрирован в GitLab, как мне узнать, какая учетная запись связана с этим ключом?

Обратите внимание, что ключ мог быть зарегистрирован как "ключ развертывания", и в этом случае я хотел бы знать учетную запись, которая его зарегистрировала.

Я бы предпочел узнать, как это сделать, используя как стандартный веб-интерфейс (если возможно), так и программно через REST API. Если ни то, ни другое невозможно, я приму ответы, которые включают копание во внутренности GitLab (например, через запрос к базе данных GitLab), если необходимо.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Если вы можете получить доступ к консоли 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)
0 голосов
/ 15 января 2019

Я не вижу общедоступного API (как, например, в User API ), в котором в качестве параметра использовался бы отпечаток ключа SSH.

Я вижу, что он используется только как внутренний API для получения фактического ключа SSH: запрос на слияние 250 .

Этот код может дать вам подсказку о том, как кодировать ваш собственный поиск.

...