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.

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.
- Sur votre propre ordinateur, affichez votre clé publique. Sur macOS et Linux, c'est généralement
cat ~/.ssh/id_ed25519.pub, oucat ~/.ssh/id_rsa.pubpour une clé RSA plus ancienne. Sous Windows avec OpenSSH, c'esttype %USERPROFILE%\.ssh\id_ed25519.pub. - Copiez la ligne entière, qui commence par
ssh-ed25519,ssh-rsaouecdsa-sha2-nistp256. - Dans KPanel, cliquez sur Ajouter une clé.
- Saisissez quelque chose de facile à retenir dans le champ Label, par exemple le nom de la machine sur laquelle se trouve la clé.
- Collez la clé publique dans le second champ.
- 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.
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.
- Cliquez sur Ajouter une clé.
- Remplissez le champ Label. Laissez le champ de la clé publique vide.
- 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.
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 :
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.
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 couvre le transfert de fichiers avec les mêmes identifiants.
- Se connecter à votre base de données via un tunnel SSH utilise la clé que vous venez d'ajouter pour accéder à MySQL depuis un client de bureau.
- Journal d'activité du site enregistre chaque clé que vous ajoutez, afin que vous puissiez vérifier plus tard qui a ajouté quoi et quand.