Keys API
- Get SSH key with user by ID of an SSH key
- Get user by fingerprint of SSH key
- Get user by deploy key fingerprint
Keys API
Get SSH key with user by ID of an SSH key
通过 SSH 密钥的 ID 获取具有用户的 SSH 密钥. 请注意,只有管理员才能通过 SSH 密钥 ID 用用户查找 SSH 密钥.
GET /keys/:id
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | SSH 密钥的 ID |
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/keys/1"
{ "id": 1, "title": "Sample key 25", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1256k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2015-09-03T07:24:44.627Z", "expires_at": "2020-05-05T00:00:00.000Z" "user": { "name": "John Smith", "username": "john_smith", "id": 25, "state": "active", "avatar_url": "http://www.gravatar.com/avatar/cfa35b8cd2ec278026357769582fa563?s=40\u0026d=identicon", "web_url": "http://localhost:3000/john_smith", "created_at": "2015-09-03T07:24:01.670Z", "bio": null, "location": null, "public_email": "john@example.com", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2015-09-03T07:24:01.670Z", "confirmed_at": "2015-09-03T07:24:01.670Z", "last_activity_on": "2015-09-03", "email": "john@example.com", "theme_id": 2, "color_scheme_id": 1, "projects_limit": 10, "current_sign_in_at": null, "identities": [], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false "external": false, "private_profile": null } }
Get user by fingerprint of SSH key
您可以搜索拥有特定 SSH 密钥的用户. 请注意,只有管理员才能使用 SSH 密钥的指纹查找 SSH 密钥.
GET /keys
Attribute | Type | Required | Description |
---|---|---|---|
fingerprint |
string | yes | SSH 密钥的指纹 |
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/keys?fingerprint=ba:81:59:68:d7:6c:cd:02:02:bf:6a:9b:55:4e:af:d1"
如果使用 sha256 指纹 API 调用,请确保指纹经过 URL 编码.
例如, /
由/
表示,而:
由:
表示:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg"
响应示例:
{ "id": 1, "title": "Sample key 1", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2019-11-14T15:11:13.222Z", "expires_at": "2020-05-05T00:00:00.000Z" "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://0.0.0.0:3000/root", "created_at": "2019-11-14T15:09:34.831Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2019-11-16T22:41:26.663Z", "confirmed_at": "2019-11-14T15:09:34.575Z", "last_activity_on": "2019-11-20", "email": "admin@example.com", "theme_id": 1, "color_scheme_id": 1, "projects_limit": 100000, "current_sign_in_at": "2019-11-19T14:42:18.078Z", "identities": [ ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false, "external": false, "private_profile": false, "shared_runners_minutes_limit": null, "extra_shared_runners_minutes_limit": null } }
Get user by deploy key fingerprint
在 GitLab 12.7 中引入 .
部署密钥绑定到创建用户,因此,如果使用部署密钥指纹进行查询,则将获得有关使用该密钥的项目的其他信息.
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/keys?fingerprint=SHA256%3AnUhzNyftwADy8AH3wFY31tAKs7HufskYTte2aXo%2FlCg"
响应示例:
{ "id": 1, "title": "Sample key 1", "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt1016k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=", "created_at": "2019-11-14T15:11:13.222Z", "user": { "id": 1, "name": "Administrator", "username": "root", "state": "active", "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", "web_url": "http://0.0.0.0:3000/root", "created_at": "2019-11-14T15:09:34.831Z", "bio": null, "location": null, "public_email": "", "skype": "", "linkedin": "", "twitter": "", "website_url": "", "organization": null, "last_sign_in_at": "2019-11-16T22:41:26.663Z", "confirmed_at": "2019-11-14T15:09:34.575Z", "last_activity_on": "2019-11-20", "email": "admin@example.com", "theme_id": 1, "color_scheme_id": 1, "projects_limit": 100000, "current_sign_in_at": "2019-11-19T14:42:18.078Z", "identities": [ ], "can_create_group": true, "can_create_project": true, "two_factor_enabled": false, "external": false, "private_profile": false, "shared_runners_minutes_limit": null, "extra_shared_runners_minutes_limit": null }, "deploy_keys_projects": [ { "id": 1, "deploy_key_id": 1, "project_id": 1, "created_at": "2020-01-09T07:32:52.453Z", "updated_at": "2020-01-09T07:32:52.453Z", "can_push": false } ] }