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, telles que si un utilisateur a activé l’authentification à deux facteurs, sont incluses lors de l’authentification de base via 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 granulaires pour «List public SSH keys for the authenticated user»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
Le token à granularité fine doit disposer de 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." Par défaut: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Par défaut: |
Codes d’état de réponse HTTP pour «List public SSH keys for the authenticated user »
| Code de statut | 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/keysResponse
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:public_key scope to use this endpoint.
Jetons d'accès granulaires pour «Create a public SSH key for the authenticated user»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
Le token à granularité fine doit disposer de 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 RequisThe public SSH key to add to your GitHub account. |
Codes d’état de réponse HTTP pour «Create a public SSH key for the authenticated user »
| Code de statut | 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 granulaires pour «Get a public SSH key for the authenticated user»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
Le token à granularité fine doit disposer de 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 RequisThe unique identifier of the key. |
Codes d’état de réponse HTTP pour «Get a public SSH key for the authenticated user »
| Code de statut | 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_IDResponse
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 granulaires pour «Delete a public SSH key for the authenticated user»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
Le token à granularité fine doit disposer de 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 RequisThe unique identifier of the key. |
Codes d’état de réponse HTTP pour «Delete a public SSH key for the authenticated user »
| Code de statut | 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_IDResponse
Status: 204List public keys for a user
Lists the verified public SSH keys for a user. This is accessible by anyone.
Jetons d'accès granulaires pour «List public keys for a user»
Ce point de terminaison fonctionne avec les types de tokens à granularité fine suivants:
- jetons d’accès utilisateur de l’application GitHub
- jetons d’accès d’installation de l’application GitHub
- Tokens d’accès personnel à granularité fine
Le token à granularité fine doit disposer de 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 RequisThe 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." Par défaut: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Par défaut: |
Codes d’état de réponse HTTP pour «List public keys for a user »
| Code de statut | 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/keysResponse
Status: 200[
{
"id": 1,
"key": "ssh-rsa AAA..."
}
]