# Ajouter des clés SSH à un site

Source: https://support.kapsulehost.com/fr-fr/adding-ssh-keys

Les accès SSH à un site KapsuleHost reposent uniquement sur des clés, donc avant de pouvoir ouvrir un shell ou une session SFTP, vous devez enregistrer une clé publique pour le site dans KPanel. Ce guide explique où se trouve cette fonctionnalité, comment ajouter une clé que vous possédez déjà, comment demander à KapsuleHost d'en générer une pour vous, et comment révoquer une clé à laquelle vous ne faites plus confiance.

## Où se trouve la page des clés SSH

Ouvrez **Sites web**, cliquez sur le site, puis ouvrez le groupe **Paramètres** dans le menu de gauche du site, et choisissez **Clés SSH**. La page s'intitule **Accès SSH** et elle contient deux éléments : les détails de connexion pour ce site, et la liste des clés publiques actuellement autorisées à les utiliser.

Il n'existe pas d'élément SSH de premier niveau dans la barre latérale principale. Les clés sont propres à chaque site, donc une clé que vous ajoutez ici n'authentifie que ce site. Si vous gérez plusieurs sites, chacun a besoin de sa propre entrée, même s'il s'agit de la même clé sur votre ordinateur portable.

![La page d'accès SSH d'un site dans KPanel, avec les détails de connexion et la liste des clés publiques autorisées](https://support.kapsulehost.com/help/screenshots/adding-ssh-keys.2a53d172.webp)

> **Note:** Ajouter ou révoquer une clé nécessite la permission **sites:write**. Si vous disposez d'un compte d'équipe avec un rôle en lecture seule, le bouton **Ajouter une clé** et l'icône de révocation sont masqués. Demandez à un propriétaire de compte ou à un administrateur d'effectuer le changement.

## Détails de connexion

La fiche **Détails de connexion** en haut de la page affiche tout ce dont votre client a besoin :

| Champ | Ce que c'est |
|---|---|
| Hôte | Le nom d'hôte auquel se connecter |
| Port | Le port SSH pour ce site |
| Nom d'utilisateur | L'utilisateur système sous lequel votre site s'exécute |
| SSH | Une commande `ssh` prête à l'emploi pour ce site |
| SFTP | Une commande `sftp` prête à l'emploi pour ce site |

Chaque ligne dispose d'une commande de copie, et les lignes SSH et SFTP copient la commande entière plutôt que la simple valeur, afin que vous puissiez la coller directement dans un terminal. Utilisez ces deux options plutôt que de taper la commande vous-même : elles contiennent déjà le bon utilisateur, le bon hôte et le bon port.

Si la fiche n'apparaît pas du tout, c'est que le site n'a pas encore terminé le provisionnement de son utilisateur shell. L'API renvoie alors simplement une erreur **Le site n'a pas d'utilisateur SSH**. Attendez que le statut du site affiche **Active** et actualisez la page.

## Ajouter une clé que vous possédez déjà

La plupart des gens disposent déjà d'une paire de clés sur leur machine. Ajoutez ici la partie publique.

1. Sur votre propre ordinateur, affichez votre clé publique. Sur macOS et Linux, c'est généralement `cat ~/.ssh/id_ed25519.pub`, ou `cat ~/.ssh/id_rsa.pub` pour une clé RSA plus ancienne. Sous Windows avec OpenSSH, c'est `type %USERPROFILE%\.ssh\id_ed25519.pub`.
2. Copiez la ligne entière, qui commence par `ssh-ed25519`, `ssh-rsa` ou `ecdsa-sha2-nistp256`.
3. Dans KPanel, cliquez sur **Ajouter une clé**.
4. Saisissez quelque chose de facile à retenir dans le champ **Label**, par exemple le nom de la machine sur laquelle se trouve la clé.
5. Collez la clé publique dans le second champ.
6. Cliquez sur **Ajouter une clé**.

La clé apparaît immédiatement dans la liste **Authorised keys**, avec son empreinte sous le libellé. Vous pouvez vous connecter sans délai.

KapsuleHost envoie également un e-mail à l'adresse du compte à chaque ajout de clé, en indiquant le libellé, l'empreinte et le site. Cet e-mail est volontaire : l'accès SSH est hautement sensible, donc si une clé apparaît alors que vous ne l'avez pas ajoutée, révoquez-la et changez immédiatement votre mot de passe.

> **Warning:** Collez toujours uniquement le fichier `.pub`. Un fichier de clé privée n'a pas d'extension `.pub` et commence par une ligne du type `-----BEGIN OPENSSH PRIVATE KEY-----`. Si c'est ce que vous collez, il s'agit de votre clé privée, et elle doit être régénérée plutôt que réutilisée.

### Si vous n'avez pas encore de clé

Générez-en une localement avec `ssh-keygen -t ed25519 -C "your-label"`, acceptez l'emplacement de fichier par défaut, et définissez une phrase secrète lorsque vous y êtes invité. Cela produit `~/.ssh/id_ed25519` (à garder privé) et `~/.ssh/id_ed25519.pub` (celui-ci est à coller).

## Laisser KapsuleHost générer la paire de clés

Si vous préférez ne pas exécuter `ssh-keygen`, KPanel peut créer la paire pour vous.

1. Cliquez sur **Ajouter une clé**.
2. Remplissez le champ **Label**. Laissez le champ de la clé publique vide.
3. Cliquez sur **Générer une paire de clés**.

KapsuleHost crée une paire Ed25519, installe la partie publique pour le site, et affiche une bannière verte : **Paire de clés générée : téléchargez la clé privée maintenant**. Cliquez sur **Télécharger .pem** pour enregistrer la clé privée. Le fichier porte le nom du libellé que vous avez choisi.

> **Important:** La clé privée n'est affichée qu'une seule fois. La bannière le précise clairement : c'est la seule occasion de la télécharger. KapsuleHost ne conserve aucune copie que vous pourriez récupérer plus tard. Si vous fermez la bannière sans télécharger, révoquez la clé et générez une nouvelle paire.

Une clé générée n'a pas de phrase secrète, ce qui permet de l'utiliser dans un script sans invite. Cela signifie aussi que le fichier lui-même constitue l'intégralité de l'identifiant. Si vous souhaitez une phrase secrète, générez vous-même la paire avec `ssh-keygen` et collez la partie publique.

Une fois téléchargé, déplacez le fichier dans un emplacement approprié et restreignez ses permissions, car SSH refuse d'utiliser une clé privée lisible par tous :

```sh
mv ~/Downloads/my-laptop_id_ed25519.pem ~/.ssh/kapsule-mysite.pem
chmod 600 ~/.ssh/kapsule-mysite.pem
ssh -i ~/.ssh/kapsule-mysite.pem <username>@<host> -p <port>
```

Remplacez le nom d'utilisateur, l'hôte et le port par ceux indiqués dans la fiche **Détails de connexion**.

## Lire la liste des clés autorisées

Chaque ligne de **Authorised keys** affiche :

- Le libellé que vous avez donné à la clé.
- L'empreinte de la clé, qui permet de distinguer deux clés lorsque les libellés se ressemblent.
- **Added** avec la date d'enregistrement.
- **Dernière utilisation** avec la date de la dernière authentification, ou **Jamais utilisé** si elle n'a jamais été utilisée.

La colonne **Dernière utilisation** est la plus utile lors d'un nettoyage. Une clé qui n'a jamais été utilisée, ou qui ne l'a pas été depuis des mois, correspond généralement à un ordinateur portable remplacé ou à un prestataire qui est parti.

## Révoquer une clé

Cliquez sur l'icône de corbeille rouge sur la ligne de la clé. KPanel vous demande de confirmer avec **Révoquer la clé SSH ?** et une note précisant que la clé ne s'authentifiera plus auprès de ce site. Cliquez sur **Revoke** pour terminer.

La révocation s'applique aux nouvelles connexions. Une session SSH déjà ouverte n'est pas interrompue par la révocation de la clé, donc si vous retirez l'accès à quelqu'un qui pourrait encore être connecté, révoquez la clé puis modifiez tout ce que cette personne aurait pu emporter : mots de passe de base de données, secrets d'application, et tout jeton stocké sur le site.

> **Tip:** Gardez la liste des clés courte. Une clé par machine, libellée avec le nom de la machine, est bien plus facile à auditer qu'un amas de clés appelées « key1 », « new key » et « temp ».

## Dépannage

**Permission denied (publickey).** La cause la plus fréquente est que votre client propose une clé différente de celle que vous avez enregistrée. Forcez la bonne clé avec `ssh -i /path/to/private_key ...`, ou vérifiez avec `ssh -v` quelles clés sont proposées.

**Connexion refusée ou délai dépassé.** Vérifiez que vous utilisez le port indiqué dans **Détails de connexion** et non le port 22 par défaut. Copiez la commande SSH depuis la page plutôt que de la saisir manuellement.

**Permissions incorrectes sur la clé privée.** OpenSSH refuse une clé privée que d'autres utilisateurs peuvent lire. Exécutez `chmod 600` sur le fichier.

**La clé fonctionne pour SSH mais pas pour SFTP.** Les deux partagent les mêmes identifiants, donc il s'agit presque toujours du client plutôt que de la clé. Utilisez la commande SFTP copiée depuis la page, qui contient déjà le bon port.

## Pour aller plus loin

- [Téléverser des fichiers avec SFTP](https://support.kapsulehost.com/fr-fr/sftp-access) couvre le transfert de fichiers avec les mêmes identifiants.
- [Se connecter à votre base de données via un tunnel SSH](https://support.kapsulehost.com/fr-fr/database-ssh-tunnel) utilise la clé que vous venez d'ajouter pour accéder à MySQL depuis un client de bureau.
- [Journal d'activité du site](https://support.kapsulehost.com/fr-fr/site-activity-log) enregistre chaque clé que vous ajoutez, afin que vous puissiez vérifier plus tard qui a ajouté quoi et quand.
