1. Introduction

Face à la faiblesse de l’authentification par mot de passe, l’authentification par clé se révèle être très efficace contre les attaques par dictionnaire (tester une série de mots de passe potentiels, les uns à la suite des autres) ou par brute-force.

La clé permet de garantir à un système Linux qu’un utilisateur est bien celui qu’il prétend être… en deux mots : « Je jure et je prouve que c’est bien moi ».

Ici, le but de cet article est de revenir sur la mise en place de la clé permettant à un client de se connecter à un serveur sans mot de passe tout en conservant l’aspect sécurisé.

Pour information, l’authentification par clé fonctionne grâce à 3 composants :

  • Une clé publique : elle sera exportée sur chaque hôte sur lequel on souhaite pouvoir se connecter.
  • Une clé privée : elle permet de prouver son identité aux serveurs.
  • Une passphrase : Permet de sécuriser la clé privée (notons la subtilité, passphrase et pas password… donc « phrase de passe » et non pas « mot de passe »).

La sécurité est vraiment accrue car la passphrase seule ne sert à rien sans la clé privée, et vice-versa.

2. Récupération des logiciels pour Windows

Télécharger et installer Putty et WinSCP avec les options par défaut :

http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.63-installer.exe

http://winscp.net/download/winscp551setup.exe

3. Génération de la paire de clés

Ouvrir le générateur de clés SSH « PuTTYgen »

Cocher « SSH-2 DSA », fixer la taille à 1024 bits  et cliquer sur « Generate »

Pour faire avancer la génération aléatoire de la clé, bouger le pointeur de la souris aléatoirement sur la fenêtre

En commentaire (1), saisir votre adresse mail.

En mot de passe « passphrase » (2), saisir un mot de passe de votre choix.

Sauvegarder votre clé privée (3) dans un fichier, nommé par exemple « id_dsa1024_private-mon_adresse@e-mail.fr.ppk » dans un endroit sûr comme un coffre-fort ou une banque !

Sauvegarder votre clé publique (4) dans un fichier, nommé par exemple « id_dsa1024_pub-mon_adresse@e-mail.fr.pub ». C’est elle qui sera à déposer sur vos hébergements.

Sélectionner et sauvegarder la clé publique au format OpenSSH (= Linux) dans un fichier texte, nommé par exemple « id_dsa1024_pub_linux-mon_adresse@e-mail.fr.pub ».

Vous devez avoir ces 3 fichiers :

Fermer le générateur de clé.

4. Dépôt de la clé publique sur le serveur

Ouvrir PuTTY pour aller déposer la clé publique dans votre hébergement.

Dans la catégorie (à gauche) « Session »

(1) Remplir les champs suivants :

(2)  Adresse IP ou Nom DNS du serveur hébergeur avec le port (par défaut 22)

(3)  Cocher le protocole SSH

 

Dans la catégorie (à gauche) «Window > Translation » (1), sélectionner UTF-8 (2).

Dans la catégorie (à gauche) «Connection > Data » (1), saisir votre utilisateur distant dans la case « Auto-login username » (2).

 

Dans la catégorie (à gauche) «Connection > SSH > Auth » (1), sélectionner votre fichier PPK étant votre clé privée (2).

Dans la catégorie (à gauche) « Session » (1), donner un nom descriptif à votre connexion (2) et sauvegarder là (3). Ouvrir la connexion (4).

Valider la connexion avec le serveur distant suite au message d’alerte (uniquement à la première connexion).

Saisir votre mot de passe associé au compte de votre hébergement.

 

Importer votre clé publique au bon endroit via les commandes suivantes :

mkdir -m 700 ~/.ssh
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys

Éditer le fichier ~/.ssh/authorized_keys avec l’éditeur vi ou nano pour copier/coller la clé publique contenu dans le fichier texte « id_dsa1024_pub_linux-mon_adresse@e-mail.fr.pub ».

Exemple avec nano :

        nano ~/.ssh/authorized_keys

 

Suite à votre copier/coller de votre éditeur de texte Windows vers la fenêtre Putty, faites un CRTL+X pour quitter nano et saisir « Y » suivi de « ENTRER » au clavier pour valider l’enregistrement du fichier.

Afficher votre clé pour la vérifier :

Vous pouvez désormais vous connecter avec votre paire de clés privée/publique sans mot de passe en SSH. Dupliquer la connexion courante Putty avec un clique droit de la souris sur la barre bleu (1) et sélectionner « Duplicate Session… » (2).

Une nouvelle fenêtre s’ouvre et vous demande votre mot de passe « passphrase » associé avec votre paire de clés privée/publique. Encore un mot de passe ? Oui en cas de vol de votre clé privée (ou de l’ordinateur complet) et des paramètres de connexions enregistrés dans Putty, cette passphrase est une sécurité supplémentaire.

Fermer la fenêtre PuTTY.

5. Transférer des fichiers sur l’hébergement via la clé (configuration de WinSCP)

Maintenant que le fonctionnement de la paire de clés est approuvé, allons configurer WINSCP pour s’en servir et déposer des fichiers à l’instar d’un client FTP comme FileZilla via le protocole SFTP.

Ouvrir WinSCP

 

  • Sélectionner le protocole de fichier : SFTP
  • Saisir l’Adresse IP ou Nom DNS du serveur avec le port (par défaut 22) (1).
  • Votre nom d’utilisateur distant SANS mot de passe (2).
  • Cliquer sur Avancé (3) pour renseigner votre clé privée SSH.

 

A gauche aller sur « Environnement » (1) puis activer l’encodage UTF-8 à « On » (2).

A gauche aller sur « SSH > Authentification » (1) et sélectionner votre fichier PPK contenant votre clé SSH privée (2). Valider (3).

Ne pas tenir compte du message d’avertissement : Ignorer.

Sauvegarder votre connexion (1) avec un descriptif (2).

Vous pouvez créer un raccourcie sur le bureau pour cette connexion (3).

Valider (4).

 

 

La connexion (1) est maintenant utilisable :Connexion (2)

Saisir votre passphrase (1) associée à votre paire de clés et valider (2).

Vous voilà connecté à votre hébergement pour y déposer des fichiers.

Article rédigé par Yannick Penhoët, Administrateur Système Linux chez Oceanet Technology

Oceanet Technology
Oceanet Technology
De l’hébergement en datacenter, à la virtualisation, l’interconnexion de votre réseau et surtout sa sécurité, Oceanet Technology vous accompagne dans vos projets d’hébergement, d’infogérance et de sécurisation de vos données, vos systèmes d’informations, vos sites web et applicatifs métiers.