Lorsque vous gérez un parc important de serveurs, il peut devenir vite fastidieux de retenir tous les identifiants et mots de passe, voire même de les saisir plusieurs fois par jour, des fois même par heure. Dans mon cas, c’est principalement l’administration de machines Linux avec PuTTY qui nécessitait un coup de main.

Objectif : se connecter en quelques clics à un serveur Linux en SSH à l’aide de clés depuis une machine Windows.

Remarque : la configuration du serveur SSH n’est pas dans le périmètre de cet article. Une brève recherche sur n’importe quel moteur du Web vous retournera une surabondance de littérature à ce sujet. On partira donc du principe que votre serveur SSH est configuré et fonctionnel. De même, la gestion de l’authentification par clé publique et les manipulations à effectuer côté serveur ne sont pas détaillées.

Génération d’une paire de clés

La suite logicielle PuTTY propose l’outil PuTTY Key Generator, que vous trouverez en tant que PuTTYgen dans le menu Démarrer. Il est très simple à utiliser.

Génération d’une paire de clés avec PuTTY Key Generator

Au lancement, le logiciel ne contient aucune clé. Un clic sur Generate, comme son nom l’indique, vous permettra de générer une clé. L’aléa de génération est pris à l’aide des mouvements de votre souris dans une zone vide située sous la barre de progression. Vous la verrez avancer à chaque déplacement de votre pointeur.

Dès la génération terminée, des éléments supplémentaires apparaissent, dont les champs de mot de passe permettant de protéger la clé privée. Laissez ces champs vides pour la suite de l’article.

Vous pouvez indiquer un commentaire qui vous aidera à identifier l’utilisation de la clé, par exemple le nom du serveur et le nom de l’utilisateur reliés à ces clés.

N’oubliez pas d’exporter vos deux clés. PuTTYgen vous fera deux fichiers : le premier avec la clé publique, sans extension spécifique, le second avec la clé privée et l’extension PPK.

Le champ non modifiable Public key for pasting into OpenSSH authorized_keys file, comme son titre l’indique, contient ce que vous devrez ajouter au fichier authorized_keys correspondant sur votre serveur Linux.

Fenêtre de PuTTY Key Generator avec une clé chargée.

Vos clés sont alors prêtes à être utilisée dans PuTTY.

Configuration d’une connexion dans PuTTY

  • Lancez PuTTY
  • Par défaut, vous vous trouvez dans le panneau Session (regardez sur la gauche de la fenêtre l’arbre Category)
  • Saisissez le nom d’hôte DNS ou l’adresse IP du serveur que vous souhaitez joindre
  • Modifiez le numéro de port si nécessaire
  • Vérifiez bien que vous avez demandé une connexion SSH
  • Sélectionnez le panneau Connection > Data

    Aperçu du panneau Connection > Data dans le logiciel PuTTY

  • Saisissez le nom de l’utilisateur qui devra être utilisé avec vos clés dans le champ Auto-login username
  • Dépliez la branche SSH de l’arborescence de panneaux et sélectionnez Auth

    Aperçu du panneau Connection > SSH > Auth dans le logiciel PuTTY

  • Utilisez le bouton Browse pour indiquer à PuTTY l’emplacement des clés qu’il doit utiliser
  • Une fois le fichier choisi, retournez dans le panneau Session
  • Dans la zone de texte Saved Sessions, indiquez un nom pour votre connexion (par exemple <user>@<server>)

    Aperçu du panneau Session dans le logiciel PuTTY

  • Cliquez sur Save

Félicitations ! Vous avez fini de préparer votre profil PuTTY. Si vous double-cliquez sur l’élément qui s’est rajouté dans la liste, votre terminal SSH devrait se lancer et se connecter automatiquement à votre serveur.

Pour les prochaines fois, il vous restera donc à lancer PuTTY et à double-cliquer sur le serveur auquel vous désirez vous connecter.

Considérations de sécurité

N’oubliez pas que ce type de configuration est sauvegardée quelque part sur votre ordinateur. C’est pourquoi il est vivement recommandé de protéger la clé privée par un mot de passe à l’aide de l’outil PuTTY Key Generator.

Ne laissez jamais vos fichiers de clés n’importe où, en particulier sur des partages accessibles à des personnes n’ayant pas à lire vos données. Même protégés par mot de passe, ces fichiers restent des éléments authentifiants et sont une cible de choix.

Dans cet article, nous avons choisi de ne pas protéger les clés privés par un mot de passe. Vous ne devriez utiliser ce biais que sur des environnements sécurisés et pour vous connecter à des machines de test. Je vous déconseille très vivement de le faire pour des serveurs en production. A vous de choisir les exigences de sécurité que vous jugez nécessaire, et trouvez le compromis entre confort d’utilisation et sécurité.