De plus en plus la sécurité des connexions que nous établissons sur internet est un enjeu majeur. La plupart du temps pour accéder à divers services nous utilisons un système d’identification par mot de passe, qui a pour lui d’être relativement simple et pratique. Il existe pourtant d’autres façons de s’identifier qui sont plus sécurisées et l’identification par clé SSH en est une. Schématiquement voici ce qui se passe lorsque vous décidez de vous identifier de cette façon:
- vous allez créer sur votre machine (votre Mac par exemple) une clé publique et une clé privée. Une clé est simplement une longue chaîne de caractères. La clé publique et la clé privée ont une particularité: elles sont liées l’une à l’autre et permettent l’identification. La clé privée est de plus protégée par un mot de passe.
- lorsque vous voulez vous connectez à un service, il faut au préalable lui communiquer votre clé publique. Par exemple sur des services comme BitBucket ou GitHub, vous pouvez aller dans la gestion de votre compte et renseigner votre clé publique. Une fois la clé publique communiquée, vous pouvez vous connecter au service: la clé privée sur votre Mac permettra d’authentifier le fait qu’il s’agit bien de vous car un principe de cryptographie asymétrique lie la clé privée, que seul votre Mac connaît, à la clé publique que vous avez communiqué.
Vous pouvez en lire plus sur le sujet sur Wikipedia: Secure Shell. Dans ce tutoriel, nous allons voir comment générer la clé publique et la clé privée et comment communiquer la clé publique aux divers services.
(Note: toutes les images de l’article peuvent être cliquées pour un agrandissement)
Les clés SSH sont stockées sur votre Mac dans un répertoire caché particulier. Pour y accéder, lancez le Finder puis dans le menu « Aller » et cliquez sur « Aller au dossier… »
Dans la fenêtre qui s’ouvre tapez le chemin suivant « ~/.ssh » (sans les guillemets) et cliquez sur « Aller ».
Vous allez arriver sur le répertoire des clés SSH. Si vous n’en avez jamais crée, il n’y aura à priori qu’un fichier « known_hosts » à cet endroit qu’il ne faut pas toucher. S’il y a d’autres fichiers comme un nommé id_rsa.pub à cet endroit, vous avez probablement déjà une paire de clés SSH et n’avez pas besoin d’en générer une nouvelle. Si vous êtes dans ce cas, vous pouvez donc sauter directement à la fin.
A présent pour créer votre clé SSH nous allons avoir besoin de lancer le Terminal. Utilisez par exemple Spotlight (la loupe à côté de l’horloge) et commencez à taper « Terminal » dans le champs avant de choisir Terminal dans les réponses.
Le Terminal s’ouvre et attend vos commandes. Pour commencer à générer vos clés, tapez la commande ci-dessous.
ssh-keygen -t rsa -C « remplacer@parvotreemail.com »
Il faut replacer la partie « remplacer@parvotreemail.com » avec votre vrai email et il faut laisser les guillemets comme ils sont. Validez avec Entrée
Le Terminal va vous demander où enregistrer les clés et propose par défaut le répertoire que nous avons affiché avec le Finder ci-dessus. Nous vous recommandons de ne pas changer ce répertoire par défaut. Appuyez simplement sur Entrée à cette étape pour accepter le choix du répertoire par défaut.
L’étape suivante est importante: il s’agit de la protection de la clé privée par un mot de passe. Ne sautez surtout pas cette étape, et ne tapez pas un mot de passe vide. Dans le jargon du SSH on parle d’un passphrase. Nous vous recommandons de choisir un mot de passe long et compliqué (par exemple de plus de 10 caractères, mélangeant majuscules, minuscules, lettres, chiffres et signes). Il faut de plus vous rappeler ce mot de passe et pour des raisons de sécurité, il est préférable de ne pas l’écrire quelque part pour s’en rappeler, sauf dans un endroit vraiment sécurisé. Une fois que vous avez pensé à un bon mot de passe, tapez le dans le Terminal. Vous allez remarquer que lorsque vous tapez le mot de passe, il ne se passe rien à l’écran: c’est normal, c’est comme ça que le Terminal réagit pour les mots de passe pour des raisons de sécurité. Continuez à taper, ce que vous tapez est pris en compte. Une fois que vous avez tapé le mot de passe validez par Entrée. Vous devez alors confirmer le mot de passe en le retapant une nouvelle fois, sans vous tromper. Validez par Entrée.
A l’issue de ces étapes, votre clé publique et votre clé privée SSH vont être crées et sauvegardées dans le répertoire par défaut. Le Terminal va de plus vous afficher l’empreinte digitale de la clé et son randomart. Il n’est pas vraiment essentiel de se rappeler de ces éléments.
Vous pouvez retourner avec le Finder au répertoire « ~/.ssh » de toute à l’heure. Vous remarquerez que 2 nouveaux fichiers sont apparus. Le fichier id_rsa contient votre clé privée. Il ne faut à aucun moment le communiquer à qui que ce soit, même s’il est crypté. Si quelqu’un vous vole votre clé privée, il devra en principe la valider par le mot de passe (passphrase) que nous avons choisi plus haut pour l’utiliser, donc il y a un second niveau de sécurité. Le fichier id_rsa.pub contient votre clé publique, celle que vous pouvez communiquer aux autres. Vous pouvez d’ailleurs ouvrir ce fichier dans un éditeur de texte car c’est un simple fichier texte.
Si vous l’ouvrez, votre clé publique SSH s’affiche, il s’agit d’une longue chaine de caractères. Vous pouvez copier coller la chaîne directement à partir du fichier texte pour le communiquer mais il y a une meilleure façon de faire.
Pour communiquer sans vous tromper la clé publique, ouvrez le Terminal et tapez la commande ci-dessous.
pbcopy < ~/.ssh/id_rsa.pub
Cette commande va coller dans le presse papier votre clé publique avec toutes les informations nécessaires. Lorsque vous ferez « coller » à partir du menu Edition dans n’importe quel programme, la clé publique sera collée à l’endroit choisi.
Parfait et clair! Merci!
Top, merci beaucoup !
Un très bon article! Merci beaucoup, ça m’a aidé!
BRAVO et MERCI pour la clarté de vos explications !!