# Clés SSH

> Les clés qui ouvrent le SFTP de tes services.

Une clé SSH posée sur ton compte ouvre le [SFTP](/api/sftp) de **tous** tes services,
sans mot de passe. C'est la voie à préférer pour un pipeline.

## Lister

```http
GET /api/users/me/ssh-keys
```

```json
[
  {
    "id": "cmu2o4jxr0001yru5wafqpt3u",
    "name": "MBP eK",
    "algorithm": "ssh-rsa",
    "label": "rsa",
    "fingerprint": "SHA256:/da+h2pfMGSg+3Lgx+uIao0TTSG0m8m7SehF35sWxm0",
    "createdAt": "2026-09-15T12:48:55.791Z",
    "lastUsedAt": "2026-09-15T19:25:41.392Z"
  }
]
```

`lastUsedAt` à `null` marque une clé jamais servie : de quoi faire le ménage sans
deviner.

## Ajouter

```http
POST /api/users/me/ssh-keys
```

```json
{ "name": "CI GitHub", "publicKey": "ssh-ed25519 AAAAC3Nza… deploy@ci" }
```

La clé publique s'envoie telle qu'elle est dans le fichier `.pub`. Les types acceptés
sont `ssh-ed25519`, `ecdsa-sha2-*` et `ssh-rsa` à partir de 2048 bits. Une clé déjà
présente rend un `409`.

<Warning>
N'envoie jamais la clé privée. Si tu colles le contenu d'un fichier sans `.pub`, la route
la refuse — mais considère la clé comme compromise et régénère-la.
</Warning>

## Supprimer

```http
DELETE /api/users/me/ssh-keys/{id}
```

La clé cesse d'ouvrir le SFTP aussitôt. Les sessions déjà établies, elles, vivent jusqu'à
leur fin.
