Connexion avec des clés d'authentification sous PuTTY : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
 
(25 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
 +
[[Catégorie:Sécurité]]
 +
'''[[Lien court]]''' vers cette page : https://vt.cx/CcPu
 +
'''[[QR code]]''' vers cette page : https://vt.cx/CcPu.qr
 +
<html>
 +
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
 +
<!-- VT2 -->
 +
<ins class="adsbygoogle"
 +
    style="display:inline-block;width:468px;height:60px"
 +
    data-ad-client="ca-pub-3341840374417340"
 +
    data-ad-slot="6349432125"></ins>
 +
<script>
 +
(adsbygoogle = window.adsbygoogle || []).push({});
 +
</script>
 +
</html>
 +
 
= Présentation =
 
= 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 saisir ou presque. La procédure est simple et impose la création de deux clés :
+
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é publique''' : mise sur le '''[[serveur]]'''
* clé privée : sur le terminal de connexion (exemple '''[[Windows]]''').
+
* '''clé privée''' : sur le terminal de connexion (exemple '''[[Windows]]''').
Voilà comment procéder dans le détail...
+
Voilà, dans le détail, comment procéder...
  
 
= Procédure =
 
= Procédure =
La méthode décrite ici suppose que '''[[PuTTY]]''' soit déjà installé et que la '''session de connexion''' avec '''identifiants''' est 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 :
+
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 :
# Génération des clés
+
# Génération des '''clés'''
# Installation des clés
+
# Installation des '''clés'''
 
# Paramétrage de '''PuTTY'''
 
# Paramétrage de '''PuTTY'''
 
+
<br/>
 +
<span style="color: #FF0000;">'''Très important !''' </span> 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 ==
 
== 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 :
+
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
 
  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é
+
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 à indiquer un certains nombre de paramètres à savoir :
+
* 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'''
** '''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é.
+
* Le seconde consiste à générer la paire de '''clés''' ('''publique''' et '''privée''') 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)
 
* 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
 
* 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.  
+
* 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 ==
 
== Installation des clés ==
Chaque clé générée s'installe de manière différente :
+
Chaque '''clé''' générée s'installe de manière différente :
* Clé publique sur le serveur
+
* '''Clé publique''' sur le serveur
* Clé privée sur le terminal d'appel
+
* '''Clé privée''' sur le terminal appelant
  
 
=== Clé publique ===
 
=== Clé publique ===
* La clé publique se copie directement comme suit :
+
* La '''clé publique''' se copie directement comme suit :
** Clic droit dans l'encadré '''Public key for pasting into Open SSH authorized keys file:'''
+
** '''Clic droit''' dans l'encadré '''Public key for pasting into Open SSH authorized keys file:'''
 
** Choisir '''Tout sélectionner''' dans le menu contextuel  
 
** Choisir '''Tout sélectionner''' dans le menu contextuel  
** Re-clic droit sur le texte ainsi surligné  
+
** Re-'''clic droit''' sur le texte ainsi surligné  
 
** Choisir '''Copier''' dans le menu contextuel  
 
** Choisir '''Copier''' dans le menu contextuel  
* La clé est maintenant dans le '''[[presse-papier]]'''
+
* La '''clé''' est maintenant dans le '''[[presse-papier]]'''
* Elle se recopie dans le fichier '''authorized_keys''' situé dans le dossier '''/root/.ssd'''
+
* Elle se recopie dans le fichier '''authorized_keys''' situé dans le dossier '''/root/.ssh'''
* Si le répertoire '''.ssd''' n'existe pas sur le serveur, le créer comme suit :
+
* Si le répertoire '''.ssh''' n'existe pas sur le serveur, le créer comme suit :
  mkdir ~/.ssd/ {{K|Entrée}}
+
  mkdir ~/.ssh/ {{K|Entrée}}
* Copier la clé publique dans '''~/.ssd/authorized_keys''' avec un éditeur comme '''nano''' ou '''vi''' et sauvegarder
+
* Mettre les droits qui conviennent au dossier .ssh comme suit :
 +
chmod 700 ~/.ssh {{K|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'''
 
* '''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 :
 
* S'assurer que les autorisations du fichier '''authorized_keys''' soit à '''600''' par :
  chmod 600 ~/.ssd/authorized_keys + {{K|Entrée}}
+
  chmod 600 ~/.ssh/authorized_keys {{K|Entrée}}
 +
<br/>
 +
[[Fichier:PuTTY-clefs-010814.jpg]]
 +
<br/>
  
 
=== Clé privée ===
 
=== 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 :
+
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'''
 
* Cliquer sur '''Save private key'''
 
* Choisir un dossier de sauvegarde (celui ou '''[[PuTTy]]''' se trouve par exemple)
 
* 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)
+
* Donner un nom suffisamment clair pour pouvoir l'identifier facilement (ex. '''clef-privée-mon-site-com.ppk''')
  
 
== Paramétrage de [[PuTTY]] ==
 
== 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 :
+
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'''
 
* 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'''
 
* 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'''
 
* 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
 
* 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)
 
* 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 =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

Version actuelle en date du 15 janvier 2021 à 17:42

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