Le client SSH PuTTY pour Windows utilise un format de clé différent de celui du client OpenSSH. Pour utiliser PuTTY, il faut générer une nouvelle clé SSH publique et privée, ou encore convertir une clé OpenSSH privée existante.

Le protocole SSH (Secure Shell) permet l’au­then­ti­fi­ca­tion des clients grâce à la com­bi­nai­son d’un nom d’uti­li­sa­teur et d’un mot de passe, ou d’une paire de clés com­pre­nant une clé publique et une clé privée. Cette méthode à la fois fiable et sûre permet de comparer la clé publique à son équi­valent privé. Il n’est alors pas né­ces­saire de saisir un mot de passe dans le cadre de l’au­then­ti­fi­ca­tion. Vous avez toutefois la pos­si­bi­lité de prendre une mesure de sécurité sup­plé­men­taire et de chiffrer la clé privée à l’aide d’une phrase de passe.

Prérequis

  • Client SSH PuTTY pour Microsoft Windows
  • Serveur distant avec accès OpenSSH

Installer PuTTY et PuTTYgen

Pour convertir une clé OpenSSH sous Windows et vous connecter ensuite à un serveur en passant par le protocole SSH, vous devez utiliser le client PuTTY et l’outil qui l’ac­com­pagne, PuTTYgen. Vous pouvez té­lé­char­ger ces deux outils sous la forme d’un programme d’ins­tal­la­tion pour Windows en passant par le site de té­lé­char­ge­ment PuTTY.

Une fois le programme d’ins­tal­la­tion PuTTY pour Windows té­lé­chargé, effectuez un double-clic sur le fichier exé­cu­table depuis votre dossier « Té­lé­char­ge­ments » et suivez les ins­truc­tions données par l’assistant d’ins­tal­la­tion. Les pa­ra­mètres par défaut sont adaptés à la plupart des ins­tal­la­tions. Une fois le processus terminé, PuTTY et PuTTYgen figurent nor­ma­le­ment dans la liste de vos pro­grammes Windows.

Utiliser les clés publiques et privées exis­tantes

Si vous avez déjà une clé publique et une clé privée OpenSSH, copiez la clé privée du nom de « id_rsa » sur votre bureau Windows. Pour ce faire, vous pouvez copier et coller le contenu du fichier ou utiliser le client SCP (PSCP, par exemple) fourni lors de l’ins­tal­la­tion de PuTTY, ou encore FileZilla.

Depuis la liste des pro­grammes Windows, lancez ensuite PuTTYgen.

  1. Dans le menu du gé­né­ra­teur de clés PuTTY, cliquez sur « Con­ver­sions » (Convertir) et sé­lec­tion­nez « Import key » (Importer une clé).
  2. Accédez à votre clé privée OpenSSH avant de cliquer sur « Open » (Ouvrir).
  3. Sous « Actions » (Actions) et « Save the generated key » (Sau­ve­gar­der la clé générée), choi­sis­sez alors l’option « Save private key » (Sau­ve­gar­der la clé privée).
  4. Vous avez la pos­si­bi­lité de choisir une phrase de passe pour protéger votre clé privée.
  5. Il ne vous reste plus qu’à en­re­gis­trer la clé privée sur votre bureau, en utilisant le nom « id_rsa.ppk ».
Image: Générateur de clés PuTTY
Le gé­né­ra­teur de clés PuTTY permet d’utiliser des clés OpenSSH exis­tantes.

Si la clé publique est déjà rattachée au fichier « au­tho­ri­zed_keys » (clés au­to­ri­sées) sur le serveur SSH concerné, vous pouvez utiliser votre clé privée dès lors que vous êtes connecté au serveur. Dans le cas contraire, vous devez commencer par copier la clé publique sur le serveur.

Créer de nouvelles clés SSH publiques et privées avec PuTTY

Depuis la liste des pro­grammes Windows, lancez PuTTYgen et suivez les étapes ci-dessous :

  1. Sous « Parameter » (Pa­ra­mètres) et « Number of bits in a generated key » (Nombre de bits dans une clé générée), augmentez le nombre de bits jusqu’à atteindre la valeur minimale de 2048.
  2. Sous « Actions » (Actions), puis « Generate a public/private key pair » (Générer une paire de clés privée/publique), cliquez sur « Generate » (Générer).
  3. Le programme vous demande alors de déplacer le curseur de votre souris dans la fenêtre du gé­né­ra­teur de clés PuTTY en tant que gé­né­ra­teur aléatoire, afin de générer la clé privée.
  4. Dès que les in­for­ma­tions con­cer­nant la clé s’affichent, cliquez sur « Save the generated key » (Sau­ve­gar­der la clé privée) sous « Actions » (Actions).
  5. Vous pouvez à présent en­re­gis­trer la clé privée sur votre bureau en utilisant le nom « id_rsa.ppk ».
  6. Le champ sous « Key » (Clé) ou « Public key for pasting into OpenSSH au­tho­ri­zed_keys file: » (Clé publique à coller dans le fichier « au­tho­ri­zed_keys » OpenSSH) contient la clé publique.
Image: PuTTYgen
L’outil PuTTYgen permet de générer de nouvelles clés privées et publiques.

Copier des clés publiques sur le serveur

La clé SSH publique se trouve dans le champ « Key » (Clé), sous « Public key for pasting into OpenSSH au­tho­ri­zed_keys file: » (Clé publique à coller dans le fichier « au­tho­ri­zed_keys » OpenSSH). Le nom de la clé publique commence par « ssh-rsa », puis vient une chaîne de ca­rac­tères.

  1. Sé­lec­tion­nez l’in­té­gra­lité de la clé publique dans le gé­né­ra­teur de clés PuTTY, et copiez le texte.
  2. Lancez PuTTY avant de vous connecter au serveur distant cor­res­pon­dant en utilisant vos iden­ti­fiants.
  3. Utilisez ensuite l’éditeur de texte de votre choix pour créer et/ou ouvrir le fichier au­tho­ri­zed_keys (clés au­to­ri­sées) :
vi ~/.ssh/authorized_keys
  1. Collez la clé publique déjà copiée dans le fichier au­tho­ri­zed_keys (clés au­to­ri­sées).
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+TyLqfd5ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeud0bQOXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh7QAkR9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvQgrQjtPcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103
  1. En­re­gis­trez le fichier, puis fermez l’éditeur de texte.
  2. Modifiez ensuite les au­to­ri­sa­tions du fichier « au­tho­ri­zed_keys » (clés au­to­ri­sées) de manière que le fichier n’accorde aucun droit d’accès en écriture de groupe.
chmod 600 ~/.ssh/authorized_keys
  1. Vous pouvez à présent vous dé­con­nec­ter du serveur distant.

Connexion au serveur avec une clé privée

Vous pouvez main­te­nant tester le fonc­tion­ne­ment de l’au­then­ti­fi­ca­tion par clé SSH. Pour ce faire, fermez PuTTYgen et relancez le client PuTTY.

  1. Sous « Session » (Session), ren­seig­nez le nom de l’hôte ou l’adresse IP du serveur distant cor­res­pon­dant.
  2. Suivez ce chemin : « Connexion » > « SSH » > « Auth ».
  3. Sous « Au­then­ti­ca­tion pa­ra­me­ters » (Pa­ra­mètres d’au­then­ti­fi­ca­tion), puis « Private key file for au­then­ti­ca­tion » (Fichier de clé privée pour l’au­then­ti­fi­ca­tion), cliquez sur « Browse » (Parcourir).
  4. Cherchez la clé privée « id_rsa.ppk » ; lorsque vous l’avez trouvée, cliquez sur « Open » (Ouvrir).
  5. Pour finir, cliquez une nouvelle fois sur « Open » (Ouvrir) pour vous connecter au serveur distant grâce à l’au­then­ti­fi­ca­tion basée sur une paire de clés.
Image: Connexion au serveur avec une clé privée
Avec le client SSH PuTTY, testez ensuite le fonc­tion­ne­ment de l’au­then­ti­fi­ca­tion par clé.
Aller au menu principal