Se connecter par clé SSH remplace souvent l’usage systématique des mots de passe sur les serveurs. La méthode repose sur une paire asymétrique, privée et publique, pour authentifier un utilisateur.
Ce guide pratique décrit la génération, l’envoi et l’utilisation d’une clé SSH sur divers clients. Gardez en tête les avantages suivants avant d’examiner les étapes pratiques.
A retenir :
- Authentification forte par paire de clés, suppression des mots de passe
- Gestion des clés centralisée pour serveurs OVHcloud, Scaleway, Hetzner
- Compatibilité multi-plateformes GitHub, GitLab, Bitbucket, DigitalOcean, AWS et fournisseurs européens Gandi Infomaniak
- Passphrase unique pour plusieurs connexions, confort et sécurité opérationnelle
Après ces avantages, génération de clés SSH sur Linux et Windows
Générer une paire de clés sous Linux avec ssh-keygen
Pour relier la théorie à la pratique, sur Linux la commande standard reste ssh-keygen. Selon OpenSSH, l’outil intégré crée une paire privée et publique prête à l’emploi pour la plupart des distributions.
Par défaut ssh-keygen génère une clé RSA de 2048 bits si aucune option n’est fournie. Pour renforcer la sécurité, il est recommandé d’opter pour 4096 bits et d’ajouter une passphrase.
Paramètres clés recommandés :
- Algorithme recommandé RSA ou ed25519 selon contraintes
- Taille minimale 2048 bits, préférer 4096 bits pour RSA
- Ajout d’une passphrase pour protéger la clé privée
Plateforme
Commande / Outil
Clé par défaut
Recommandation
Linux
ssh-keygen
RSA 2048
Privilégier RSA 4096 ou ed25519
macOS
ssh-keygen
RSA 2048
Privilégier RSA 4096 ou ed25519
WSL
ssh-keygen
RSA 2048
Même recommandations que Linux
Serveurs OpenSSH
Recevoir clé publique
N/A
Stockage dans ~/.ssh/authorized_keys
« J’ai généré toutes mes clés avec ssh-keygen et réduit notablement les tentatives d’intrusion sur mes serveurs »
Paul N.
Générer une paire de clés sous Windows avec PuTTYgen
Pour rester cohérent avec l’approche précédente, sous Windows l’outil le plus courant est PuTTYgen. Selon les pratiques partagées, PuTTYgen facilite le choix d’algorithme et la génération d’entropie via la souris.
Lors de la création il est possible d’ajouter un commentaire et une passphrase pour protéger la clé privée. Pour les environnements mixtes, sauvegardez la clé publique au format OpenSSH pour l’envoyer sur les serveurs.
Ensuite, déployer la clé publique vers le serveur et gérer authorized_keys
Envoyer la clé automatiquement avec ssh-copy-id
Pour assurer la continuité, la commande ssh-copy-id automatise l’ajout d’une clé publique au serveur distant. Selon DigitalOcean, cette méthode évite les erreurs de format lors de la copie dans authorized_keys.
La commande nécessite une connexion par mot de passe initiale pour déposer la clé publique. Une fois la clé installée, la connexion suivante peut s’effectuer sans mot de passe, selon la présence de la clé privée et de la passphrase.
Procédures essentielles à exécuter :
- Utiliser ssh-copy-id pour envoyer ~/.ssh/id_rsa.pub par défaut
- Spécifier -i pour une clé publique non standard
- Vérifier la présence et les permissions de ~/.ssh/authorized_keys
Action
Commande
Copier la clé publique
ssh-copy-id utilisateur@serveur
Tester la connexion
ssh utilisateur@serveur
Créer le dossier .ssh
mkdir -p ~/.ssh && chmod 700 ~/.ssh
Placer authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
« J’ai utilisé ssh-copy-id pour automatiser l’installation et gagner du temps lors du déploiement de serveurs »
Marie N.
Méthode manuelle et permissions sur .ssh et authorized_keys
Pour conserver un contrôle fin, il est possible de copier manuellement le contenu de la clé publique dans ~/.ssh/authorized_keys. Selon les bonnes pratiques, les permissions doivent être strictes pour éviter le refus d’authentification par OpenSSH.
Sur le serveur, appliquer chmod 700 ~/.ssh puis chmod 600 ~/.ssh/authorized_keys pour garantir le bon fonctionnement. Ce soin évite des erreurs fréquentes lors des connexions sans mot de passe.
Enfin, utilisation pratique : connexion, agents SSH et bonnes pratiques
Se connecter avec ssh, PuTTY et agents d’authentification
Suite aux étapes précédentes, la connexion s’effectue avec ssh utilisateur@serveur ou via PuTTY en sélectionnant la clé privée. Selon OpenSSH, l’usage d’un agent comme ssh-agent améliore l’ergonomie en mémorisant la passphrase.
Sur Windows, Pageant pour PuTTY joue un rôle équivalent et permet d’utiliser la clé sans ressaisir constamment la passphrase. L’agent est particulièrement utile lorsque la même clé dessert plusieurs hôtes, comme des instances chez OVHcloud ou DigitalOcean.
- Utiliser ssh-agent pour gérer les passphrases en mémoire
- Ajouter plusieurs clés avec ssh-add si nécessaire
- Préférer ed25519 ou RSA 4096 pour les nouvelles clés
Bonnes pratiques : passphrase, rotation, gestion multi-clés et fournisseurs
Pour aller plus loin, protégez toujours la clé privée par une passphrase et envisagez une rotation périodique. Selon Florian Burnel, la compréhension des clés asymétriques facilite la mise en place d’une gestion centralisée des accès.
Pour les environnements cloud, notez que DigitalOcean, AWS, OVHcloud, Scaleway, Hetzner et Gandi permettent l’ajout de clés SSH dans leurs consoles. GitHub, GitLab et Bitbucket gèrent aussi les clés pour l’accès Git et les clés de déploiement.
- Protéger la clé privée avec une passphrase robuste
- Publier la clé publique uniquement sur les comptes utilisateurs ciblés
- Mettre en place une politique de rotation et de révocation
Service
Usage SSH
Particularité
DigitalOcean
Accès aux Droplets via clés SSH
Import de clés dans le panneau utilisateur
AWS
Pairs de clés pour instances EC2
Clés gérées par la console et AMI
OVHcloud
SSH pour instances et VPS
Import de clé dans cloud panel
Scaleway
Accès aux instances via clés
Console supporte l’ajout de clés
Hetzner
SSH sur VPS et Cloud
Possibilité d’ajouter clés à la création d’instance
Gandi
SSH pour hébergement et VPS
Documentation disponible pour clés
Infomaniak
SSH sur hébergement et serveurs
Pratiques documentées par le support
GitHub / GitLab / Bitbucket
Gestion de clés pour Git et déploiement
Clés deploy et clés personnelles distinctes
« Depuis que j’utilise un agent SSH, je bascule entre projets sans ressaisir mes passphrases »
Lucas N.
« L’authentification par clés a simplifié nos déploiements continus et réduit les incidents liés aux mots de passe »
Sophie N.
Pour terminer cette séquence, gardez à l’esprit que la sécurité dépend aussi de l’opérationnel et de la formation des équipes. Le passage à l’authentification par clés demande une organisation et une politique de gestion des accès claire.
Je dois vous remercier pour les efforts que vous avez déployés pour rédiger ce site Web. J’espère voir le même contenu de haute qualité par vous dans l’avenir ainsi. En vérité, vos capacités d’écriture créative m’a inspiré pour obtenir mon propre blog maintenant.