Un mot de passe se devine, se rejoue et se retrouve dans une fuite de données. Une clé SSH ne se devine pas : la partie secrète ne quitte jamais votre ordinateur, et le serveur ne connaît que la partie publique. C’est le changement de configuration qui apporte le plus de sécurité pour le moins d’effort.
Comment générer une paire de clés SSH ?
En une commande, ssh-keygen -t ed25519, qui crée une clé privée et une clé publique.
Sur votre ordinateur — pas sur le serveur — ouvrez un terminal (PowerShell convient sous Windows) :
ssh-keygen -t ed25519 -C "martin@portable-perso"
- Acceptez le chemin proposé,
~/.ssh/id_ed25519. - Saisissez une phrase de passe. Elle chiffre la clé privée : si votre ordinateur est volé, la clé reste inutilisable.
Deux fichiers sont créés :
id_ed25519— la clé privée. Elle ne se copie nulle part, ne s’envoie par aucun canal, et ne se colle jamais dans un ticket.id_ed25519.pub— la clé publique. C’est elle que vous déposez sur les serveurs.
Affichez la clé publique pour la copier :
cat ~/.ssh/id_ed25519.pub
Elle tient sur une seule ligne et commence par ssh-ed25519 AAAA….
Comment déposer ma clé publique sur mon VPS ?
Deux voies : la coller dans la carte Clés SSH de l’onglet Accès & Sécurité, ou l’envoyer depuis votre terminal avec ssh-copy-id.
Depuis l’espace client, c’est la voie la plus simple :
- Ouvrez Mes services, puis votre VPS.
- Allez dans l’onglet Accès & Sécurité.
- Dans la carte Clés SSH, collez votre clé publique. Le champ accepte une clé par ligne et les formats
ssh-rsa,ssh-ed25519etecdsa. - Cliquez sur Enregistrer les clés.
Le message « Clés SSH mises à jour avec succès. » confirme l’enregistrement, et l’onglet Historique en garde la trace. Ces clés sont conservées et réinjectées automatiquement à chaque réinstallation du VPS : vous n’avez pas à recommencer.
Depuis votre terminal, la méthode classique fonctionne également :
ssh-copy-id root@ADRESSE_IP
Vérifiez ensuite que la connexion par clé fonctionne, sans fermer votre session actuelle :
ssh root@ADRESSE_IP
Si le serveur ne demande plus le mot de passe du compte — au pire la phrase de passe de votre clé — tout est en place.
Comment désactiver la connexion SSH par mot de passe ?
En passant PasswordAuthentication no dans /etc/ssh/sshd_config puis en rechargeant le service SSH — une fois seulement que la connexion par clé est vérifiée.
Ne franchissez cette étape qu’après avoir vérifié le point précédent, et gardez votre session SSH actuelle ouverte pendant toute la manipulation.
Éditez /etc/ssh/sshd_config :
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password
Vérifiez la syntaxe avant de recharger le service — cette commande évite un serveur SSH qui refuse de redémarrer :
sshd -t
systemctl reload ssh # Debian, Ubuntu
systemctl reload sshd # AlmaLinux, Rocky, CentOS Stream
Ouvrez maintenant une seconde session dans une autre fenêtre. Si elle aboutit, vous pouvez fermer la première en confiance. Si elle échoue, corrigez le fichier depuis la session restée ouverte.
Comment sauvegarder ma clé privée et donner l’accès à une autre personne ?
Sauvegardez la clé privée là où vous gardez vos mots de passe, et n’ajoutez jamais que la clé publique de la personne concernée, sur une nouvelle ligne.
- Sauvegardez votre clé privée là où vous sauvegardez vos mots de passe : la perdre revient à perdre l’accès, sauf à repasser par la console.
- Pour donner l’accès à une seconde personne, ajoutez sa clé publique sur une nouvelle ligne. Ne partagez jamais une clé privée entre plusieurs personnes : vous perdez toute traçabilité et vous ne pouvez plus retirer un accès individuellement.
- Pour retirer un accès, supprimez la ligne correspondante et enregistrez de nouveau.
Que faire si je perds ma clé SSH ?
Vous n’êtes pas bloqué. Ouvrez la console de secours depuis l’espace client : elle vous donne l’écran de la machine sans passer par SSH. Connectez-vous avec le mot de passe administrateur, remettez temporairement PasswordAuthentication yes, déposez une nouvelle clé, puis refermez.