Accueil
 1  Licence
 2  Prologue
 3  Système d'exploitation, système d'exploitation Unix
 4  Première utilisation
 5  Système de fichiers
 6  Shell
 7  Processus
 8  Quelques outils supplémentaires
 9  Communications sous Unix
 9.1  Communication entre deux ordinateurs
 9.2  Fonctionnement des logiciels de communication
 9.3  Logiciels anciens non sécurisés
 9.4  Le protocole SSH: les s-commandes
 9.4.1  Mécanismes de sécurité de SSH
 9.4.2  Méthodes de chiffrement pour l'authentification, la confidentialité et l'intégrité
 9.4.3  Lancement des commandes
 9.4.4  Concept de l'hôte connu
 9.4.5  Authentification de l'utilisateur par clef publique *
 9.4.6  Agent SSH *
 9.5  Applications communicant entre ordinateurs
 9.6  Conclusion
 10  Épilogue: Rappels importants
 Index
 Glossaire
 Foire Aux Questions
 Aide

 Contacts

W3C validator

Département INF  
 Initiation à UNIX


9.4.5 Authentification de l’utilisateur par clef publique *
  • L’authentification du client par SSH peut se faire de deux façons:
    • Par mot de passe (utilisé par défaut), malheureusement « assez facilement » déchiffrable malgré le chiffrement à clef secrète;
    • Par chiffrement à clef publique, méthode plus sûre.
  • Pour mettre en place un chiffrement à clef publique, l’utilisateur doit placer la clef publique correspondant à son compte local sur le compte distant. Pour cela, il doit:
    • Si elle n’existe pas, générer une paire de clefs, clef publique et clef privée avec la commande suivante générant par défaut des fichiers contenant la clef privée et la clef publique correspondant au compte local de l’utilisateur:  
      problème génération shellcmds verbatim
    • Copier sa clé publique sur son compte distant dans le fichier ~/.ssh/authorized_keys.
  • Pour encore plus de sécurité, la clef privée de l’utilisateur peut être protégée par une phrase d’authentification.
  • SSH offre, en outre, la possibilité d’exécuter un agent SSH fournissant un service d’authentification aux clients SSH.

    previous     next 


Polycopié de cours Commentaires de cette page dans le polycopié de cours

 
L’illustration interactive en mode graphique qui suit présente un scénario de mise en place d’une authentification par clef publique.

Illustration Interactive« Authentification par clef publique »

Mise en place d’une authentification par clef publique. L’objectif de cet exercice est de pouvoir vous connecter au serveur de connexions SSH de Télécom SudParis sans mot de passe ni phrase d’authentification.

Cet objectif sera atteint en deux temps:

  • tout d’abord, mise en place d’une connexion sans mot de passe mais avec phrase d’authentification: voir les étapes suivantes;
  • enfin utilisation d’un agent SSH pour ne plus avoir à saisir la phrase d’authentification: étapes 6 et 7. Ceci sera fait à la page de cours suivante.

Le serveur de connexions SSH administré par Télécom SudParis se nomme ssh. Dans le scénario suivant, vous êtes connecté sur votre machine personnelle et souhaitez vous connecter sans mot de passe au serveur de connexions ssh. Ce scénario fonctionne aussi si vous êtes connectés sur une des machines des salles TP.

  1. Cette manipulation a pu être déjà partiellement ou entièrement faite par vos soins. Aussi, commencez par effacer ou renommer votre répertoire ~/.ssh.
  2. Première connexion : connectez-vous sur la machine ssh.int-evry.fr en tapant la commande ssh -v utilisateur@ssh.int-evry.fr. Il faut bien sûr remplacer utilisateur par votre nom d’utilisateur UNIX. L’option -v permet de voir les négociations entre le client SSH (s’exécutant sur votre machine de départ) et le serveur SSH (sur ssh.int-evry.fr). Vous pouvez remarquer que le protocole commence par authentifier les machines de départ et d’arrivée avant l’authentification de l’utilisateur. Comme vous avez effacé le répertoire ~/.ssh, la partie cliente du protocole SSH rencontre pour la première fois l’identification de la machine ssh.int-evry.fr et vous demande si vous voulez ajouter cette machine dans la liste des machines connues, répondez yes. Déconnectez-vous en tapant exit. Dans votre répertoire de connexion, le répertoire .ssh a dû être créé, contenant le fichier known_hosts.
  3. Création des clés : sur votre machine personnelle, constituez-vous une paire de clés (privée et publique) de type rsa protégée par une phrase d’authentification en tapant la commande ssh-keygen -t rsa.
  4. Mise en place de la clé publique sur le serveur de connexions: copiez la clé publique .ssh/id_rsa.pub se trouvant sur votre machine personnelle à la fin du fichier ~/.ssh/authorized_keys se trouvant sur le serveur de connexion. Pour cela, 3 étapes:
    1. Transfert du fichier id_rsa.pub sur le serveur de connexion: scp .ssh/id_rsa.pub utilisateur@ssh.int-evry.fr:.
    2. Sur le serveur de connexion, copie du fichier id_rsa.pub, transféré précédemment, à la fin du fichier .ssh/authorized_keys: ssh utilisateur@ssh.int-evry.fr cat id_rsa.pub » .ssh/authorized_keys
    3. Sur le serveur de connexion, suppression du fichier id_rsa.pub transféré précédemment: ssh utilisateur@ssh.int-evry.fr rm id_rsa.pub

    Note: Si vous êtes connectés sur une machine de salle de TP, lisez la suite attentivement. Votre espace disque est le même sur toutes les machines des salles de TP et sur les serveurs de calcul de Télécom SudParis. La conséquence est que le client SSH et le serveur SSH utilisent le même répertoire ~/.ssh. Donc pour copier le fichier id_rsa.pub à la fin du fichier .ssh/authorized_keys, il vous suffit de taper la commande: cat .ssh/id_rsa.pub » .ssh/authorized_keys sans transfert préalable. Remarque: les commandes données précédemment fonctionnent aussi.

    Note 2: Si le répertoire .ssh n’existe pas sur le serveur de connexions, créez-le avec les droits lecture/écriture/exécution pour vous seul: rwx−−−−−−

  5. Connexion avec échange de clés (sans mot de passe): reconnectez-vous avec la même commande sur le serveur de connexions ssh -v utilisateur@ssh.int-evry.fr. Vous constatez que dans la négociation l’authentification a lieu à partir des clés publique et privée au lieu d’aller jusqu’à la présentation du mot de passe. Il vous est alors demandé de donner la phrase d’authentification pour décoder votre clé privée. La phrase d’authentification protège votre clé privée et sert au client SSH pour accéder à la clé privée. Ainsi la phrase d’authentification n’est pas transmise sur le réseau ni le mot de passe.


Question: Règle des 3 bouées
Auto-évaluation: pas compris pas sûr de comprendre compris

INF, Télécom SudParis, CSC 3001, Sept. 2014