Comment configurer des clés SSH sur CentOS

Comment configurer des clés SSH sur CentOS

Introduction

Les clés SSH (Secure Shell) sont un moyen sûr et pratique de se connecter à des serveurs distants sans avoir à saisir de mot de passe. En utilisant une paire de clés privée et publique, les clés SSH permettent une authentification forte et protégent vos connexions des accès non autorisés. Dans ce tutoriel, nous allons vous guider pas à pas sur la façon de configurer des clés SSH sur votre serveur CentOS.

Génération d’une paire de clés SSH

1. Générez une paire de clés SSH

bash
ssh-keygen -t rsa -b 4096

Ceci générera une paire de clés dans le répertoire ~/.ssh. Le nom de fichier par défaut pour la clé privée est id_rsa et celui pour la clé publique est id_rsa.pub.

2. Configurez une phrase de passe pour la clé privée

Pour une sécurité accrue, vous pouvez définir une phrase de passe pour votre clé privée. Cela vous demandera d’entrer une phrase de passe chaque fois que vous vous connecterez via SSH à l’aide de cette clé.

bash
ssh-keygen -p

3. Copiez la clé publique sur le serveur distant

Utilisez la commande suivante pour copier votre clé publique sur le serveur distant où 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 du serveur.

bash
ssh-copy-id -i ~/.ssh/id_rsa.pub utilisateur@ip-serveur

Cette commande vous demandera votre mot de passe pour le serveur distant.

Configuration du serveur SSH

1. Modifiez le fichier de configuration SSH

Ouvrez le fichier de configuration SSH à l’aide d’un éditeur de texte.

bash
sudo vi /etc/ssh/sshd_config

2. Autorisez l’authentification par clé

Ajoutez ou décommentez la ligne suivante dans le fichier de configuration :


PubkeyAuthentication yes

3. Spécifiez le répertoire des clés autorisées

Définissez l’emplacement du fichier authorized_keys où les clés publiques autorisées seront stockées.


AuthorizedKeysFile %h/.ssh/authorized_keys

4. Redémarrez le service SSH

Une fois les modifications apportées, redémarrez le service SSH pour appliquer les modifications.

bash
sudo systemctl restart sshd

Connexion via SSH avec des clés SSH

1. Utilisez l’option -i pour spécifier la clé privée

Pour vous connecter au serveur distant à l’aide de votre clé SSH, utilisez l’option -i suivie du chemin d’accès à votre clé privée.

bash
ssh -i ~/.ssh/id_rsa utilisateur@ip-serveur

2. Entrez votre phrase de passe (si vous en avez définie)

Si vous avez défini une phrase de passe pour votre clé privée, vous devrez la saisir lorsqu’on vous le demandera.

Conclusion

La configuration des clés SSH sur CentOS est un processus crucial pour renforcer la sécurité de vos serveurs et faciliter l’accès à distance. En suivant les étapes décrites dans ce tutoriel, vous pouvez protéger vos connexions SSH contre les attaques par force brute et améliorer l’efficacité de votre administration système.

En outre, l’utilisation de clés SSH présente de nombreux autres avantages :

* Authentification sécurisée: Les clés SSH fournissent une authentification forte qui ne peut pas être facilement compromise.
* Pas de transfert de mot de passe sur le réseau: Les clés SSH éliminent la nécessité de transmettre des mots de passe sur des réseaux non sécurisés.
* Automatisation des scripts: Les clés SSH permettent d’automatiser les tâches administratives telles que la mise à jour logicielle et la surveillance du système.
* Gestion simplifiée des utilisateurs: Les clés SSH facilitent la gestion des utilisateurs et des autorisations sur plusieurs serveurs.

En adoptant les clés SSH, vous pouvez garantir des connexions sécurisées et pratiques à vos serveurs CentOS, tout en améliorant votre posture de sécurité globale.

FAQ

1. Puis-je utiliser une clé SSH déjà existante ?

Oui, vous pouvez utiliser une clé SSH existante tant qu’elle a été générée avec le même algorithme (RSA) et la même taille de clé (4096 bits dans notre exemple).

2. Comment puis-je révoquer l’accès à une clé SSH ?

Pour révoquer l’accès à une clé SSH, supprimez l’entrée correspondante du fichier authorized_keys sur le serveur distant.

3. Que dois-je faire si j’oublie ma phrase de passe de clé privée ?

Si vous oubliez votre phrase de passe de clé privée, vous ne pourrez plus vous connecter au serveur distant à l’aide de cette clé. Vous devrez générer une nouvelle paire de clés.

4. Puis-je désactiver l’authentification par mot de passe pour SSH ?

Oui, vous pouvez désactiver l’authentification par mot de passe pour SSH en modifiant le fichier de configuration SSH et en définissant PasswordAuthentication sur no.

5. Comment puis-je gérer plusieurs clés SSH ?

Pour gérer plusieurs clés SSH, vous pouvez utiliser l’agent SSH. Il s’agit d’un processus d’arrière-plan qui charge vos clés SSH privées et les met à disposition pour une utilisation.

6. Que sont les clés SSH ed25519 ?

Les clés SSH ed25519 sont 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. Dois-je sauvegarder mes clés SSH ?

Oui, il est fortement recommandé de sauvegarder vos clés SSH en cas de perte ou de corruption de fichiers.

8. Comment puis-je auditer les connexions SSH ?

Vous pouvez auditer les connexions SSH à l’aide des fichiers journaux SSH, situés dans /var/log/secure sur CentOS.