Connexion avec des clés d'authentification sous PuTTY : Différence entre versions
(→Clé privée) |
|||
(26 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 | + | 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à | + | Voilà, dans le détail, comment procéder... |
= Procédure = | = Procédure = | ||
− | La méthode décrite ici suppose que | + | 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 ''' | + | 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 ''' | + | 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 | + | * 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 | + | * 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 | + | * '''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/. | + | * Elle se recopie dans le fichier '''authorized_keys''' situé dans le dossier '''/root/.ssh''' |
− | * Si le répertoire '''. | + | * Si le répertoire '''.ssh''' n'existe pas sur le serveur, le créer comme suit : |
− | mkdir ~/. | + | mkdir ~/.ssh/ {{K|Entrée}} |
− | * Copier la clé publique dans '''~/. | + | * 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 ~/. | + | 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]] == | ||
+ | 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 = | ||
+ | {{#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
Sommaire
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 :
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 :
- Génération des clés
- Installation des clés
- 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
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)