Contenu d’approfondissement.

L’authentification de l’utilisateur par mot de passe n’est pas très sûre. Le mot de passe doit être long et compliqué. Il peut aussi être récupéré sur l’hôte distant si celui-ci a été compromis. Le protocole SSH propose alors une identification de l’utilisateur par clef publique. Jusqu’à présent, nous avons vu que les machines étaient authentifiées avec un chiffrement à clef publique. L’authentification par clé publique est plus sûre que celle par mot de passe. En effet, les clés générées par une machine sont difficiles à deviner, alors que les mots de passe créés par des humains sont régulièrement découverts par une technique appelée « attaque par dictionnaire ».

Pour mettre en place une authentification par clé publique, l’utilisateur a besoin d’une paire de clefs: une clé privée et une clé publique. Il est aussi possible de préciser une phrase d’authentification secrète pour protéger la clef privée. En effet, si la machine de l’utilisateur est compromise, la clef privée n’est plus sûre. La génération de la paire de clefs s’effectue par la commande  
problème génération shellcmds verbatim

L’option -t rsa génère une clé de type DSA. La commande ssh-keygen crée dans le répertoire ~/.ssh les fichiers id_rsa contenant la clef privée et id_rsa.pub contenant la clef publique. La commande ssh-keygen demande à l’utilisateur de taper une phrase d’authentification pour protéger la clef privée. Celle-ci n’est pas obligatoire.

Une fois la paire de clefs générée, l’utilisateur doit installer sa clef publique sur la machine serveur SSH. Avec OpenSSH (le logiciel SSH utilisé par défaut dans Fedora), l’utilisateur doit éditer un fichier sur la machine serveur. L’utilisateur crée ou modifie sur le serveur le fichier ~/.ssh/authorized_keys qui contient les clefs publiques correspondant aux ordinateurs d’où l’utilisateur souhaite se connecter.

Une fois l’authentification par clef publique mise en place, lors de la connexion, la commande ssh demande la phrase d’authentification, si elle a été positionnée, au lieu du mot de passe sinon elle ne demande rien. Le mot de passe n’est donc plus du tout échangé sur le réseau.  
 
Retour à la page de cours