Configurer l'authentification par clé pour SSH

Red Hat Enterprise LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous allez mettre en place l'authentification par clé pour SSH, une méthode bien plus robuste que l'utilisation classique de mots de passe. Vous devrez générer une paire de clés (publique et privée), autoriser la clé publique sur le serveur et configurer le service SSH pour permettre les connexions via ce mécanisme. Une fois terminé, vous pourrez vous connecter au serveur SSH sans saisir de mot de passe, alliant ainsi sécurité renforcée et confort d'utilisation.

Générer une paire de clés publique-privée

La première étape consiste à créer une paire de clés cryptographiques. Cette paire se compose d'une clé privée, que vous devez impérativement garder secrète, et d'une clé publique, que vous déposerez sur le serveur pour autoriser l'accès.

Tâches

  • Générer une nouvelle paire de clés RSA (publique et privée) à l'aide de la commande ssh-keygen.

Exigences

  • Basculez sur le compte testuser avant de générer la paire de clés.
  • Générez la paire de clés en tant qu'utilisateur testuser.
  • Utilisez l'emplacement de fichier par défaut lorsqu'il vous sera demandé (/home/testuser/.ssh/id_rsa).
  • Ne définissez pas de phrase de passe (passphrase) pour la clé privée (appuyez sur Entrée lors de la demande).

Pour commencer

Tout d'abord, connectez-vous au compte testuser :

su - testuser
## Password: testuser123

Exemple

Après avoir généré la paire de clés, vous pouvez lister le contenu du répertoire ~/.ssh pour visualiser vos nouvelles clés.

$ ls -l ~/.ssh
total 8
-rw------- 1 testuser testuser 3401 Aug 19 03:49 id_rsa
-rw-r--r-- 1 testuser testuser  759 Aug 19 03:49 id_rsa.pub

Le fichier id_rsa correspond à votre clé privée, et id_rsa.pub à votre clé publique.

✨ Vérifier la solution et pratiquer

Autoriser la clé publique et configurer le serveur SSH

Maintenant que vous possédez une paire de clés, vous devez configurer le serveur. Cela implique deux actions principales : ajouter votre clé publique à la liste des clés autorisées et s'assurer que le service SSH est paramétré pour accepter l'authentification par clé.

Prérequis

Assurez-vous d'être toujours connecté avec le compte testuser. Si ce n'est pas le cas, basculez dessus :

su - testuser
## Password: testuser123

Tâches

  • Copier votre clé publique dans le fichier ~/.ssh/authorized_keys.
  • Définir les permissions de fichier appropriées pour ~/.ssh/authorized_keys.
  • Modifier le fichier de configuration du serveur SSH (/etc/ssh/sshd_config) pour activer l'authentification par clé publique.
  • Recharger le service SSH pour appliquer les modifications de configuration.

Exigences

  • Le fichier ~/.ssh/authorized_keys doit être créé et contenir le contenu de votre clé publique (~/.ssh/id_rsa.pub).
  • Les permissions pour ~/.ssh/authorized_keys doivent être fixées à 600.
  • Dans le fichier /etc/ssh/sshd_config, le paramètre PubkeyAuthentication doit être décommenté et réglé sur yes.
  • La configuration du service SSH doit être rechargée en utilisant la commande sudo pkill -HUP sshd.

Conseils

  • Vous pouvez utiliser la commande cat avec une redirection de sortie (>>) pour ajouter la clé au fichier authorized_keys.
  • Utilisez la commande chmod pour définir les permissions du fichier.
  • L'utilisateur testuser dispose des privilèges sudo pour modifier /etc/ssh/sshd_config et recharger le service sshd.
  • Comme systemctl n'est pas disponible dans cet environnement de conteneur, utilisez pkill pour envoyer un signal HUP au processus sshd, ce qui le forcera à recharger sa configuration.

Exemple

Une fois ces étapes terminées, vous devriez pouvoir vous connecter à localhost via votre clé SSH sans qu'un mot de passe ne vous soit demandé.

$ ssh testuser@localhost "echo Login successful"
Login successful
✨ Vérifier la solution et pratiquer

Résumé

Au cours de ce défi, vous avez appris à renforcer la sécurité de SSH en configurant l'authentification par clé. Vous avez généré une paire de clés publique-privée, autorisé la clé publique sur le serveur en l'ajoutant au fichier authorized_keys, et modifié la configuration du serveur SSH pour activer cette méthode d'authentification sécurisée. En réussissant ce défi, vous avez acquis une compétence fondamentale pour la gestion sécurisée des systèmes distants.