# Ajouter et gérer des clés SSH

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

Une clé SSH vous permet de vous connecter à votre serveur sans mot de passe. Elle est plus sûre qu'un mot de passe et plus rapide à utiliser. Ce guide explique comment créer une clé, l'ajouter à votre compte avant de commander et retirer les clés que vous n'utilisez plus.

## Fonctionnement des clés SSH

Une clé SSH se compose de deux moitiés :

- La **clé privée** reste sur votre propre ordinateur. Ne la collez jamais nulle part et ne la partagez jamais.
- La **clé publique** est la moitié que vous donnez aux serveurs. Elle peut être partagée sans risque.

Lors de la connexion, votre ordinateur prouve qu'il détient la clé privée correspondant à une clé publique présente sur le serveur. Aucun mot de passe n'est envoyé.

## Créer une clé

Créez la clé sur votre propre ordinateur, pas sur le serveur. Sous macOS, Linux ou Windows (dans PowerShell ou Windows Terminal), exécutez :

```
ssh-keygen -t ed25519 -C "you@example.com"
```

Appuyez sur Entrée pour accepter l'emplacement d'enregistrement par défaut, puis définissez une phrase de passe lorsqu'elle vous est demandée. Vous disposez maintenant de deux fichiers :

- `~/.ssh/id_ed25519` est votre clé privée.
- `~/.ssh/id_ed25519.pub` est votre clé publique.

Pour afficher votre clé publique, exécutez :

```
cat ~/.ssh/id_ed25519.pub
```

Copiez la ligne entière, qui commence par `ssh-ed25519`.

> **Warning:** Ne copiez jamais que le fichier qui se termine par `.pub`. L'autre fichier est votre clé privée, et quiconque la détient peut se connecter à tous les serveurs qui lui font confiance. Si vous la partagez par erreur, créez une nouvelle clé et remplacez l'ancienne partout.

## Les clés SSH de votre compte

Les clés SSH appartiennent à votre compte, et non à un serveur en particulier. Chaque nouveau serveur est commandé avec une clé, et au lancement, c'est elle qui sert à la connexion. Ajoutez vos clés sur la page **Clés SSH** de la barre latérale, à côté des sections de serveurs. La page fonctionne avant même que vous ayez un serveur : vous pouvez donc ajouter une clé d'abord, puis commander. La même liste figure dans l'onglet **Clés SSH** de chaque serveur.

Pour ajouter une clé :

1. Dans la barre latérale, cliquez sur **Clés SSH**, ou ouvrez n'importe quel serveur et cliquez sur **Clés SSH** dans son menu.
2. Cliquez sur **Add SSH Key**.
3. Saisissez un **Nom**, par exemple « Mon ordinateur portable », et collez la ligne entière de votre fichier `.pub` dans **Public key**.
4. Cliquez sur **Add Key**. KPanel indique que la clé a été ajoutée.

![L'onglet Clés SSH d'un serveur dans KPanel](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-keys.2f07b4bd.webp)

Les clés Ed25519 sont recommandées. Les clés RSA doivent faire au moins 3072 bits, et les clés ECDSA fonctionnent également. Un compte peut conserver jusqu'à 50 clés, et une même clé ne peut pas être ajoutée deux fois.

Pour renommer une clé, cliquez sur l'icône en forme de crayon à côté d'elle. Pour en supprimer une, cliquez sur l'icône de corbeille, puis sur **Delete Key**. Cliquez sur le **Fingerprint** d'une clé pour la copier.

> **Warning:** Ajouter une clé ici ne l'installe pas sur les serveurs qui existent déjà. Elle est proposée pour les serveurs que vous commandez après l'avoir ajoutée. Supprimer une clé ici ne la retire pas non plus des serveurs : retirez-la aussi sur chaque serveur, comme indiqué ci-dessous.

## Ajouter une clé à un nouveau serveur

À l'étape **SSH Key and Name** de la commande, cochez chaque clé autorisée à se connecter en root. Vous pouvez en choisir plusieurs, jusqu'à 20 pour une même commande. Pour y ajouter une nouvelle clé, cliquez sur **Add an SSH Key**, saisissez un **Key Name**, collez la **Public Key** et cliquez sur **Add Key**. Elle est enregistrée dans votre compte et cochée. Les serveurs Windows se connectent avec un mot de passe : les clés SSH ne sont donc pas utilisées pour eux.

Si vous reconstruisez le serveur plus tard, les clés cochées ici sont remises en place. Les clés ajoutées après la commande ne le sont pas.

## Ajouter une clé à un serveur accessible

Si vous pouvez déjà vous connecter au serveur, ajoutez une autre clé publique en l'ajoutant à la fin du fichier `authorized_keys` de l'utilisateur utilisé pour la connexion. Pour l'utilisateur root :

```
echo "ssh-ed25519 AAAA... you@example.com" >> /root/.ssh/authorized_keys
```

Remplacez l'exemple par la ligne de votre propre clé publique. Ouvrez ensuite un nouveau terminal et vérifiez que vous pouvez vous connecter avec la clé avant de fermer votre session actuelle.

## Retirer une clé

Pour qu'une clé cesse de fonctionner, connectez-vous au serveur et supprimez sa ligne dans `authorized_keys` :

```
nano /root/.ssh/authorized_keys
```

Supprimez la ligne de la clé, enregistrez le fichier et fermez l'éditeur. Faites-le lorsqu'un ordinateur portable est perdu, lorsqu'une personne quitte votre équipe ou lorsque vous remplacez une clé.

KapsuleHost conserve une clé de gestion (nommée kapsulehost-management) sur chaque serveur que nous créons, pour les sauvegardes, la surveillance et les mises à jour de sécurité. Si vous la supprimez, ces fonctionnalités s'arrêtent.

> **Note:** Les clés que vous ajoutez vous-même à l'intérieur du serveur sont stockées sur son disque : une [reconstruction](https://support.kapsulehost.com/fr-fr/cloud-servers-rebuild) les efface donc.

## Clés pour les sites web

L'accès SSH à un site web hébergé chez nous est distinct de celui des serveurs. Pour un site web, allez dans **Sites web**, ouvrez le site, puis **Clés SSH**.

## Articles connexes

- [Se connecter à votre serveur en SSH](https://support.kapsulehost.com/fr-fr/cloud-servers-ssh-connect)
- [Créer un serveur](https://support.kapsulehost.com/fr-fr/cloud-servers-create)
- [Mode secours](https://support.kapsulehost.com/fr-fr/cloud-servers-rescue)
- [Reconstruire un serveur](https://support.kapsulehost.com/fr-fr/cloud-servers-rebuild)
