Git SSH 密钥的 REST API 端点
使用 REST API 管理已认证用户的 Git SSH 密钥。
关于 Git SSH 密钥管理
如果请求 URL 没有包含 `{username}` 参数,则响应将针对已登录用户(并且您必须在请求中传递身份验证信息)。当通过具有 `user` 作用域的 OAuth 进行身份验证时,将包含其他私有信息,例如用户是否启用了双因素身份验证。
列出已认证用户的公共 SSH 密钥
列出已认证用户的 GitHub 帐户的公共 SSH 密钥。
OAuth 应用令牌和个人访问令牌(经典版)需要 `read:public_key` 作用域才能使用此端点。
“列出已认证用户的公共 SSH 密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Git SSH 密钥”用户权限(读取)
“列出已认证用户的公共 SSH 密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要提取的结果页码。更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出已认证用户的公共 SSH 密钥”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
304 | 未修改 |
401 | 需要身份验证 |
403 | 禁止 |
404 | 资源未找到 |
“列出已认证用户的公共 SSH 密钥”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/keys
响应
状态:200
[ { "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", "id": 2, "url": "https://api.github.com/user/keys/2", "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", "created_at": "2020-06-11T21:31:57Z", "verified": false, "read_only": false }, { "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", "id": 3, "url": "https://api.github.com/user/keys/3", "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", "created_at": "2020-07-11T21:31:57Z", "verified": false, "read_only": false } ]
为已认证用户创建公共 SSH 密钥
将公共 SSH 密钥添加到已认证用户的 GitHub 帐户。
OAuth 应用令牌和个人访问令牌(经典版)需要 `write:gpg_key` 作用域才能使用此端点。
“为已认证用户创建公共 SSH 密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Git SSH 密钥”用户权限(写入)
“为已认证用户创建公共 SSH 密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
title 字符串新密钥的描述性名称。 |
key 字符串 必填要添加到您的 GitHub 帐户的公共 SSH 密钥。 |
“为已认证用户创建公共 SSH 密钥”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
201 | 已创建 |
304 | 未修改 |
401 | 需要身份验证 |
403 | 禁止 |
404 | 资源未找到 |
422 | 验证失败,或端点已被滥用。 |
“为已认证用户创建公共 SSH 密钥”的代码示例
请求示例
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/keys \ -d '{"title":"ssh-rsa AAAAB3NzaC1yc2EAAA","key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}'
响应
获取已认证用户的公共 SSH 密钥
查看单个公共 SSH 密钥的扩展详细信息。
OAuth 应用令牌和个人访问令牌(经典版)需要 `read:public_key` 作用域才能使用此端点。
“获取已认证用户的公共 SSH 密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Git SSH 密钥”用户权限(读取)
“获取已认证用户的公共 SSH 密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
key_id 整数 必填密钥的唯一标识符。 |
“获取已认证用户的公共 SSH 密钥”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
304 | 未修改 |
401 | 需要身份验证 |
403 | 禁止 |
404 | 资源未找到 |
“获取已认证用户的公共 SSH 密钥”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/keys/KEY_ID
响应
删除已认证用户的公共 SSH 密钥
从已认证用户的 GitHub 帐户中删除公共 SSH 密钥。
OAuth 应用令牌和个人访问令牌(经典版)需要 `admin:public_key` 作用域才能使用此端点。
“删除已认证用户的公共 SSH 密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Git SSH 密钥”用户权限(写入)
“删除已认证用户的公共 SSH 密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
key_id 整数 必填密钥的唯一标识符。 |
“删除已认证用户的公共 SSH 密钥”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
204 | 无内容 |
304 | 未修改 |
401 | 需要身份验证 |
403 | 禁止 |
404 | 资源未找到 |
“删除已认证用户的公共 SSH 密钥”的代码示例
请求示例
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user/keys/KEY_ID
响应
状态:204
列出用户的公共密钥
列出用户的 *已验证* 公共 SSH 密钥。任何人都可以访问。
“列出用户的公共密钥”的细粒度访问令牌
此端点适用于以下细粒度令牌类型:
细粒度令牌必须具有以下权限集
- “Git SSH 密钥”用户权限(读取)
如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。
“列出用户的公共密钥”的参数
名称、类型、描述 |
---|
accept 字符串建议设置为 `application/vnd.github+json`。 |
名称、类型、描述 |
---|
username 字符串 必填GitHub 用户帐户的句柄。 |
名称、类型、描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page 整数要提取的结果页码。更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出用户的公共密钥”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
“列出用户的公共密钥”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <你的令牌>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/users/用户名/keys
响应