Introduction
Les clés SSH, un mécanisme de connexion sécurisé, offrent une alternative robuste à l’authentification par mot de passe pour accéder à des serveurs distants. Ce système, basé sur une paire de clés (une privée et une publique), assure une identification fiable et protège les échanges contre les intrusions. Ce guide vous accompagnera étape par étape dans l’implémentation des clés SSH sur votre serveur CentOS.
Création de votre paire de clés SSH
1. Générer la paire de clés
ssh-keygen -t rsa -b 4096
Cette commande engendre deux fichiers dans le répertoire ~/.ssh
. Le fichier id_rsa
contient la clé privée, tandis que id_rsa.pub
contient la clé publique. Ces noms sont attribués par défaut.
2. Ajouter une phrase de passe à la clé privée
Pour augmenter le niveau de sécurité, il est conseillé de définir une phrase de passe pour la clé privée. Cette action exigera la saisie de cette phrase lors de chaque tentative de connexion par SSH utilisant cette clé.
ssh-keygen -p
3. Transférer la clé publique au serveur distant
La commande ci-dessous permet de copier la clé publique sur le serveur auquel vous souhaitez vous connecter. Remplacez <utilisateur>
par votre nom d’utilisateur sur le serveur distant et <ip-serveur>
par l’adresse IP ou le nom de domaine de ce serveur.
ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@ip-serveur
Le système vous demandera votre mot de passe pour le serveur distant.
Configuration du serveur SSH
1. Ouvrir le fichier de configuration SSH
Accédez au fichier de configuration SSH avec un éditeur de texte.
sudo vi /etc/ssh/sshd_config
2. Activer l’authentification par clé
Assurez-vous que la ligne suivante soit présente et active (sans # au début) dans le fichier de configuration :
PubkeyAuthentication yes
3. Définir le chemin vers les clés autorisées
Indiquez le chemin d’accès vers le fichier authorized_keys
qui contiendra les clés publiques autorisées.
AuthorizedKeysFile %h/.ssh/authorized_keys
4. Relancer le service SSH
Une fois les modifications appliquées, relancez le service SSH pour qu’elles soient prises en compte.
sudo systemctl restart sshd
Connexion par SSH avec les clés
1. Utiliser l’option -i pour spécifier la clé privée
Lors de la connexion au serveur distant, spécifiez le chemin vers votre clé privée à l’aide de l’option -i
.
ssh -i ~/.ssh/id_rsa utilisateur@ip-serveur
2. Saisir la phrase de passe (si configurée)
Si vous avez protégé votre clé privée avec une phrase de passe, celle-ci vous sera demandée au moment de la connexion.
Conclusion
La mise en place des clés SSH sur CentOS est une mesure essentielle pour renforcer la sécurité de vos serveurs et simplifier l’accès à distance. En suivant ce guide, vous protégez vos connexions contre les tentatives d’intrusion et optimisez l’efficacité de votre gestion système.
L’adoption des clés SSH offre de nombreux avantages:
- Authentification sécurisée: Les clés SSH garantissent une authentification robuste et difficile à compromettre.
- Pas de transfert de mot de passe: Les clés éliminent le besoin de transmettre des mots de passe sur des réseaux non sécurisés.
- Automatisation de tâches: Les clés SSH facilitent l’automatisation des tâches administratives comme les mises à jour logicielles et la surveillance du système.
- Gestion simplifiée des utilisateurs: La gestion des utilisateurs et des autorisations sur plusieurs serveurs est simplifiée grâce aux clés SSH.
En adoptant les clés SSH, vous assurez des connexions sécurisées et pratiques à vos serveurs CentOS, améliorant ainsi votre niveau de sécurité global.
Foire aux questions
1. Est-il possible d’utiliser une clé SSH préexistante?
Oui, vous pouvez utiliser une clé SSH existante à condition qu’elle ait été générée avec le même algorithme (RSA) et la même taille de clé (4096 bits dans cet exemple).
2. Comment révoquer l’accès d’une clé SSH?
Pour retirer l’accès d’une clé SSH, supprimez la ligne correspondante du fichier authorized_keys
sur le serveur distant.
3. Que faire en cas d’oubli de la phrase de passe de la clé privée?
Si vous oubliez la phrase de passe de votre clé privée, vous ne pourrez plus vous connecter au serveur avec cette clé. Il vous faudra générer une nouvelle paire de clés.
4. Peut-on désactiver l’authentification par mot de passe pour SSH?
Oui, il est possible de désactiver l’authentification par mot de passe en modifiant le fichier de configuration SSH et en réglant PasswordAuthentication
sur no
.
5. Comment gérer plusieurs clés SSH?
Pour gérer plusieurs clés SSH, vous pouvez recourir à l’agent SSH, un processus en arrière-plan qui charge vos clés privées et les rend disponibles pour utilisation.
6. Que sont les clés SSH ed25519?
Les clés SSH ed25519 représentent un type de clé SSH qui utilise l’algorithme de signature EdDSA. Elles sont considérées comme plus sécurisées et plus rapides que les clés RSA traditionnelles.
7. Est-il nécessaire de sauvegarder les clés SSH?
Oui, il est vivement conseillé de sauvegarder vos clés SSH afin de pallier toute perte ou corruption de fichiers.
8. Comment auditer les connexions SSH?
Vous pouvez auditer les connexions SSH en consultant les fichiers journaux SSH, disponibles dans /var/log/secure
sur CentOS.