Points de terminaison d’API REST pour les clés SSH dans Git
Utilisez l’API REST pour gérer les clés SSH Git des utilisateurs authentifiés.
À propos de l’administration des clés SSH Git
Si une URL de requête n’inclut pas de paramètre {username}
, la réponse est destinée à l’utilisateur connecté (et vous devez transmettre des informations d’authentification avec votre demande). Des informations privées supplémentaires, par exemple si l’authentification à 2 facteurs a été activée par un utilisateur, sont incluses lors de l’authentification au moyen de l’authentification de base ou OAuth avec l’étendue user
.
List public SSH keys for the authenticated user
Lists the public SSH keys for the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the read:public_key
scope to use this endpoint.
Jetons d’accès affinés pour « List public SSH keys for the authenticated user »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis doit avoir l’ensemble d’autorisations suivant:
- "Git SSH keys" user permissions (read)
Paramètres pour « List public SSH keys for the authenticated user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List public SSH keys for the authenticated user »
Code d’état | Description |
---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Exemples de code pour « List public SSH keys for the authenticated user »
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/user/keys
Response
Status: 200
[
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://HOSTNAME/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://HOSTNAME/user/keys/3",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAB",
"created_at": "2020-07-11T21:31:57Z",
"verified": false,
"read_only": false
}
]
Create a public SSH key for the authenticated user
Adds a public SSH key to the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the write:gpg_key
scope to use this endpoint.
Jetons d’accès affinés pour « Create a public SSH key for the authenticated user »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis doit avoir l’ensemble d’autorisations suivant:
- "Git SSH keys" user permissions (write)
Paramètres pour « Create a public SSH key for the authenticated user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
title string A descriptive name for the new key. |
key string ObligatoireThe public SSH key to add to your GitHub account. |
Codes d’état de la réponse HTTP pour « Create a public SSH key for the authenticated user »
Code d’état | Description |
---|---|
201 | Created |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Exemples de code pour « Create a public SSH key for the authenticated user »
Exemple de requête
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/user/keys \
-d '{"title":"ssh-rsa AAAAB3NzaC1yc2EAAA","key":"2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234"}'
Response
Status: 201
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://HOSTNAME/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false
}
Get a public SSH key for the authenticated user
View extended details for a single public SSH key.
OAuth app tokens and personal access tokens (classic) need the read:public_key
scope to use this endpoint.
Jetons d’accès affinés pour « Get a public SSH key for the authenticated user »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis doit avoir l’ensemble d’autorisations suivant:
- "Git SSH keys" user permissions (read)
Paramètres pour « Get a public SSH key for the authenticated user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
key_id integer ObligatoireThe unique identifier of the key. |
Codes d’état de la réponse HTTP pour « Get a public SSH key for the authenticated user »
Code d’état | Description |
---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Exemples de code pour « Get a public SSH key for the authenticated user »
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/user/keys/KEY_ID
Response
Status: 200
{
"key": "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234",
"id": 2,
"url": "https://HOSTNAME/user/keys/2",
"title": "ssh-rsa AAAAB3NzaC1yc2EAAA",
"created_at": "2020-06-11T21:31:57Z",
"verified": false,
"read_only": false
}
Delete a public SSH key for the authenticated user
Removes a public SSH key from the authenticated user's GitHub account.
OAuth app tokens and personal access tokens (classic) need the admin:public_key
scope to use this endpoint.
Jetons d’accès affinés pour « Delete a public SSH key for the authenticated user »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis doit avoir l’ensemble d’autorisations suivant:
- "Git SSH keys" user permissions (write)
Paramètres pour « Delete a public SSH key for the authenticated user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
key_id integer ObligatoireThe unique identifier of the key. |
Codes d’état de la réponse HTTP pour « Delete a public SSH key for the authenticated user »
Code d’état | Description |
---|---|
204 | No Content |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
Exemples de code pour « Delete a public SSH key for the authenticated user »
Exemple de requête
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/user/keys/KEY_ID
Response
Status: 204
List public keys for a user
Lists the verified public SSH keys for a user. This is accessible by anyone.
Jetons d’accès affinés pour « List public keys for a user »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
- Jetons d’accès utilisateur d’application GitHub
- Jetons d’accès d’installation d’application GitHub
- Jetons d’accès personnel affiné
Le jeton précis doit avoir l’ensemble d’autorisations suivant:
- "Git SSH keys" user permissions (read)
Ce point de terminaison peut être utilisé sans authentification ou sans les autorisations mentionnées ci-dessus si seules les ressources publiques sont demandées.
Paramètres pour « List public keys for a user »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
username string ObligatoireThe handle for the GitHub user account. |
Nom, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List public keys for a user »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List public keys for a user »
Exemple de requête
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
http(s)://HOSTNAME/api/v3/users/USERNAME/keys
Response
Status: 200
[
{
"id": 1,
"key": "ssh-rsa AAA..."
}
]