lalbert

Authentification par clés SSH

ssh

Maintenant que nous avons créé nos clés SSH, nous allons voir comment les utiliser afin d’utiliser l’authentification par clés SSH.

Pour rappel, l’authentification par clés SSH est régie par 3 composantes :

Nous allons donc, dans un premier temps, fournir notre clé publique aux hôtes sur lesquels nous désirons nous authentifier.

Renseigner sa clé publique

L’authentification s’effectue sur une machine hôte pour un utilisateur donné.

Les clés publiques sont stockés dans le fichier ~/.ssh/authorized_keys.

On se connecte donc sur le serveur à « l’ancienne », c’est à dire en ssh par mot de passe:

puis on va éditer le fichier authorized_keys pour y ajouter notre clé publique:

On copie-colle enfin l’ensemble de notre clé publique à la fin de ce fichier. Il est tout à fait possible qu’il soit vide (voir même qu’on soit en train de le créer).

On enregistre (Ctrl + O) et on quitte (Ctrl + X) nano.

Ok, c’est beau ! Mais comment je récupère ma clé publique ?

Récupérer sa clé publique sous Linux

Comme nous l’avons vu dans le précédent article, sous linux, les clés sont généralement enregistrées dans les fichiers id_rsa (clé privée) et id_rsa.pub (clé publique).

Il suffit donc de lire le fichier ~/.ssh/id_rsa.pub pour récupérer sa clé publique sous linux :

Récupérer sa clé publique sous Windows

Sous Windows, les choses sont un peu plus fastidieuse…

Il faudra à nouveau utiliser le logiciel PuTTYgen pour extraire notre clé publique de la clé privée que nous avons précédemment générée.

  1. Ouvrir le logiciel PuTTYgen, cliquez sur le bouton « Load » et sélectionnez la clé privée :

    PuTTYgen : charger une clé privée

  2. Renseigner la passphrase :

    PuTTYgen : renseignement de la passphrase

  3. Récupérer la clé publique associée à la clé privée :

    PuTTYgen : récupérer la clé publique

Il ne reste plus qu’à coller notre clé publique dans le fichier ~/.ssh/authorized_keys de notre hôte distant.

Sous linux : se faciliter la vie

Sous linux il est tout à fait possible de grandement se faciliter la vie grâce à une seule ligne de commande qui s’occupe tout seule de récupérer votre clé publique et de l’ajouter à la liste des clés autorisées d’un hôte distant :

Un message vous indiquera probablement que l’identité du serveur hôte est actuellement inconnue et vous demandera si vous désirez poursuivre : répondez « yes ».

Pour finir, il faudra renseigner le mot de passe de l’utilisateur distant.

La sortie finale de la commande devrait ressembler à peu de choses près cela :

Et voilà, vous êtes maintenant prêt à utiliser l’authentification par clés SSH pour vous connecter à un serveur distant.