跳至主要内容
REST API 现已分版本。 有关详细信息,请参阅“关于 API 版本控制”。

SSH 签名密钥的 REST API 端点

使用 REST API 管理已验证用户的 SSH 签名密钥。

关于 SSH 签名密钥管理

如果请求 URL 不包含 {username} 参数,则响应将针对已登录用户(且你必须随请求传递 身份验证信息)。当通过 OAuth 身份验证且具有 user 范围时,将包括其他私人信息,例如用户是否启用了双重身份验证。

列出已验证用户的 SSH 签名密钥

列出已验证用户 GitHub 帐户的 SSH 签名密钥。

OAuth 应用令牌和个人访问令牌(经典)需要 read:ssh_signing_key 范围才能使用此端点。

“列出已验证用户的 SSH 签名密钥”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限设置

  • “SSH 签名密钥”用户权限(读取)

“列出已验证用户的 SSH 签名密钥”的参数

标头
名称、类型、说明
accept string

建议设置为 application/vnd.github+json

查询参数
名称、类型、说明
per_page integer

每页结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

页面 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出已验证用户的 SSH 签名密钥”的 HTTP 响应状态代码

状态代码说明
200

确定

304

未修改

401

需要身份验证

403

禁止

404

找不到资源

“列出已验证用户的 SSH 签名密钥”的代码示例

请求示例

get/user/ssh_signing_keys
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/ssh_signing_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" }, { "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", "id": 3, "url": "https://api.github.com/user/keys/3", "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", "created_at": "2020-07-11T21:31:57Z" } ]

为已验证用户创建 SSH 签名密钥

为已验证用户的 GitHub 帐户创建 SSH 签名密钥。

OAuth 应用令牌和个人访问令牌(经典)需要 write:ssh_signing_key 范围才能使用此端点。

“为已验证用户创建 SSH 签名密钥”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限设置

  • “SSH 签名密钥”用户权限(写入)

“为已验证用户创建 SSH 签名密钥”的参数

标头
名称、类型、说明
accept string

建议设置为 application/vnd.github+json

正文参数
名称、类型、说明
标题 字符串

新密钥的描述性名称。

密钥 字符串 必需

要添加到 GitHub 帐户的公共 SSH 密钥。有关详细信息,请参阅“检查现有 SSH 密钥”。

“为经过身份验证的用户创建 SSH 签名密钥”的 HTTP 响应状态代码

状态代码说明
201

已创建

304

未修改

401

需要身份验证

403

禁止

404

找不到资源

422

验证失败,或端点已受到垃圾邮件攻击。

“为经过身份验证的用户创建 SSH 签名密钥”的代码示例

请求示例

post/user/ssh_signing_keys
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/ssh_signing_keys \ -d '{"key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234","title":"ssh-rsa AAAAB3NzaC1yc2EAAA"}'

响应

状态:201
{ "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234", "id": 2, "url": "https://api.github.com/user/keys/2", "title": "ssh-rsa AAAAB3NzaC1yc2EAAA", "created_at": "2020-06-11T21:31:57Z" }

获取经过身份验证用户的 SSH 签名密钥

获取 SSH 签名密钥的扩展详细信息。

OAuth 应用令牌和个人访问令牌(经典)需要 read:ssh_signing_key 范围才能使用此端点。

“获取经过身份验证用户的 SSH 签名密钥”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限设置

  • “SSH 签名密钥”用户权限(读取)

“获取经过身份验证用户的 SSH 签名密钥”的参数

标头
名称、类型、说明
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
ssh_signing_key_id integer 必填

SSH 签名密钥的唯一标识符。

“获取经过身份验证用户的 SSH 签名密钥”的 HTTP 响应状态代码

状态代码说明
200

确定

304

未修改

401

需要身份验证

403

禁止

404

找不到资源

“获取经过身份验证用户的 SSH 签名密钥”的代码示例

请求示例

get/user/ssh_signing_keys/{ssh_signing_key_id}
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/ssh_signing_keys/SSH_SIGNING_KEY_ID

响应

状态: 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" }

删除经过身份验证用户的 SSH 签名密钥

从经过身份验证用户的 GitHub 帐户中删除 SSH 签名密钥。

OAuth 应用令牌和个人访问令牌(经典版)需要 admin:ssh_signing_key 范围才能使用此端点。

“删除经过身份验证用户的 SSH 签名密钥”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限设置

  • “SSH 签名密钥”用户权限(写入)

“删除经过身份验证用户的 SSH 签名密钥”的参数

标头
名称、类型、说明
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
ssh_signing_key_id integer 必填

SSH 签名密钥的唯一标识符。

“删除经过身份验证用户的 SSH 签名密钥”的 HTTP 响应状态代码

状态代码说明
204

无内容

304

未修改

401

需要身份验证

403

禁止

404

找不到资源

“删除经过身份验证用户的 SSH 签名密钥”的代码示例

请求示例

delete/user/ssh_signing_keys/{ssh_signing_key_id}
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/ssh_signing_keys/SSH_SIGNING_KEY_ID

响应

状态:204

列出用户的 SSH 签名密钥

列出用户的 SSH 签名密钥。此操作可供任何人访问。

“列出用户的 SSH 签名密钥”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌不需要任何权限。

如果仅请求公共资源,则无需身份验证即可使用此端点。

“列出用户的 SSH 签名密钥”的参数

标头
名称、类型、说明
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、说明
username string 必需

GitHub 用户帐户的句柄。

查询参数
名称、类型、说明
per_page integer

每页结果数(最大 100)。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 30

页面 整数

要获取的结果的页码。有关详细信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出用户的 SSH 签名密钥”的 HTTP 响应状态代码

状态代码说明
200

确定

“列出用户的 SSH 签名密钥”的代码示例

请求示例

get/users/{username}/ssh_signing_keys
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/users/USERNAME/ssh_signing_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" }, { "key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJy931234", "id": 3, "url": "https://api.github.com/user/keys/3", "title": "ssh-rsa AAAAB3NzaC1yc2EAAB", "created_at": "2020-07-11T21:31:57Z" } ]