Connexion avec des clés d'authentification sous PuTTY

De Vulgum Techus
Aller à : Navigation, rechercher
Lien court vers cette page : https://vt.cx/CcPu
QR code vers cette page : https://vt.cx/CcPu.qr

Présentation

Dans le cas d'un usage fréquent de PuTTY à partir d'un terminal de confiance, il peut être intéressant d'installer des clés d'authentification qui permettront un login sans aucune saisie ou presque. La procédure est simple et impose la création de deux clés :

  • clé publique : mise sur le serveur
  • clé privée : sur le terminal de connexion (exemple Windows).

Voilà, dans le détail, comment procéder...

Procédure

La méthode décrite ici suppose que PuTTY soit déjà installé et que la session de connexion avec identifiants soit déjà paramétrée pour le compte pour lequel les clés vont être générées et installées. Elle se passe en trois temps :

  1. Génération des clés
  2. Installation des clés
  3. Paramétrage de PuTTY


Très important ! Il est recommandé, de mener toute la procédure en ouvrant un session à l'aide des identifiants habituels et de travailler le paramétrage de l'accès automatique par clés dans une autre session en parallèle pour garder, quoi qu'il arrive, un accès au serveur. De la même manière, il est fortement recommandé de conserver la session permettant l'accès manuel intacte et de faire toutes les manipulations décrites ici sur une autre session sauvegardée sous un autre nom.

Exemple :
mon-site.com (accès avec login manuel)
mon-site.com-keys (accès avec clés)   

Génération des clés

En préambule il est indispensable de comprendre que les deux clés sont indissociables et que, par conséquent, elles doivent être générées au même moment. Pour ce faire il faut recourir au programme PuTTYgen disponible au lien suivant :

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Ce programme créé par l'éditeur même de PuTTY ne nécessite pas d'installation et se lance d'un clic une fois téléchargé

  • La première étape consiste à générer la séquence aléatoire qui servira à générer les clés en cliquant sur Generate
  • Pendant la génération, identifiée par la barre de progression, il est indispensable de déplacer la souris sur la zone vide du générateur afin d'augmenter la randomisation des clés (donc le caractère unique)
  • Si la souris n'est pas déplacée, la progression s'interrompt et ne reprend qu'une fois le mouvement de la souris repris
  • Arrivée au terme de la progression, la génération est terminée il devient alors possible d'indiquer les paramètres suivants :
    • Key comment : commentaire qui sera ajoutée à la clé pour l'identifier. Le commentaire par défaut est souvent suffisant. Ce paramètre n'est pas obligatoire
    • Key passphrase : phrase secrète qui est une sécurité supplémentaire et qui permet d'éviter tout risque d'usage de l'accès sans login. Une phrase simple suffit généralement comme garde-fou. Pour ne rien avoir à saisir lors de la connexion, laisser ce champs vide
    • Confirm passphrase : répéter la phrase secrète si il y en a une. Laisser vide s'il n'y en a pas
    • Type of key to generate: : différente type de cryptage. SSH-2 RSA est par défaut et convient dans la plupart des cas
    • Number of bits in a generated key: : Taille de la clé en octets. 2048 est la valeur par défaut et elle assure un bon niveau de sécurité.

Installation des clés

Chaque clé générée s'installe de manière différente :

  • Clé publique sur le serveur
  • Clé privée sur le terminal appelant

Clé publique

  • La clé publique se copie directement comme suit :
    • Clic droit dans l'encadré Public key for pasting into Open SSH authorized keys file:
    • Choisir Tout sélectionner dans le menu contextuel
    • Re-clic droit sur le texte ainsi surligné
    • Choisir Copier dans le menu contextuel
  • La clé est maintenant dans le presse-papier
  • Elle se recopie dans le fichier authorized_keys situé dans le dossier /root/.ssh
  • Si le répertoire .ssh n'existe pas sur le serveur, le créer comme suit :
mkdir ~/.ssh/ Entrée
  • Mettre les droits qui conviennent au dossier .ssh comme suit :
chmod 700 ~/.ssh Entrée
  • Copier la clé publique dans ~/.ssh/authorized_keys avec un éditeur comme nano ou vi et sauvegarder
  • Utile mais pas obligatoire : garder une copie de la clé publique dans un fichier texte
  • Important ! Elle doit tenir sur une seule ligne sans retour chariot ni saut de ligne
  • S'assurer que les autorisations du fichier authorized_keys soit à 600 par :
chmod 600 ~/.ssh/authorized_keys Entrée


PuTTY-clefs-010814.jpg

Clé privée

La clé privée est contenu dans un fichier dont l'extension est ppk qui s'obtient de la façon suivante :

  • Cliquer sur Save private key
  • Choisir un dossier de sauvegarde (celui ou PuTTy se trouve par exemple)
  • Donner un nom suffisamment clair pour pouvoir l'identifier facilement (ex. clef-privée-mon-site-com.ppk)

Paramétrage de PuTTY

Maintenant que la clé publique est copiée sur le serveur et que la clé privée l'est dans un dossier, il faut l'assigner à la session dans PuTTY. Cela s'opère comme suit :

  • Charger la session en la choisissant dans la liste et en cliquant sur Load
  • Dans la liste de gauche, dérouler SSH de Connection et cliquer sur Auth
  • Cliquer sur Browse pour indiquer le chemin d'accès du fichier contenant la clé privée et cliquer sur Ouvrir
  • Toujours sous Connection cliquer sur Data pour indiquer le login de connexion dans le champ Auto-login username (exemple root). Cette manipulation n'est pas obligatoire mais elle permet d'éviter de taper l'identifiant à chaque connexion
  • Remonter sur Session dans le menu de gauche et cliquer sur Save pour sauvegarder la nouvelle configuration de la session
  • Se connecter en cliquant sur Open. Normalement, la connexion s'opère sans la moindre entrée d'identifiant à l'exception éventuelle d'une Key Passphrase (phrase secrète) qui aurait pu être entrée lors de la génération des clés (voir plus haut)

Commentaires

blog comments powered by Disqus