61 votes

Comment installer une clé privée SSH générée par PuTTYgen ?

J'ai configuré mon serveur Linux pour accepter les connexions de mon PC domicile en ajoutant la clé publique générée par PuTTYgen au fichier authorized_keys.

Maintenant, j'essaie de me connecter à la même machine, mais cette fois-ci à partir d'une autre machine Ubuntu. Je dois utiliser la même clé privée (pour une raison bizarre, ne demande pas..) et je ne suis pas tout à fait sûr de comment l'installer sur mon client Ubuntu.

Dois-je la convertir en un autre format?

41voto

GalleySlave Points 1488

Par coïncidence, je viens de devoir faire cela. Vous devez convertir les clés au format OpenSSH. La commande pour faire cela est :

ssh-keygen -i -f puttygen_key > openssh_key

ensuite, vous pouvez copier le contenu de openssh_key dans .ssh/authorized_keys comme avec une clé SSH normale.

L'option -i est celle qui indique à ssh-keygen de faire la conversion. L'option -f lui indique où trouver la clé à convertir.

Cela fonctionne pour les clés non chiffrées. La clé publique n'est pas chiffrée, mais la clé privée l'est probablement. Je ne suis pas sûr s'il y a un moyen de déchiffrer la clé privée, de la convertir, puis de la rechiffrer. Il est peut-être plus facile d'utiliser de nouvelles clés comme le suggère l'autre réponse (et je vous recommanderais d'utiliser ssh-agent bien que cela soit orthogonal à la question actuelle).

30voto

Landon Points 3355

Andrew Stacey a expliqué comment convertir les clés au format OpenSSH sous Linux.

Si vous souhaitez faire la même chose sous Windows, suivez ces étapes:

  1. Démarrer PuTTYGen.
  2. Cliquez sur "Charger".
  3. Sélectionnez votre clé privée et saisissez la phrase secrète.
  4. Dans le menu 'Conversions', sélectionnez "Export OpenSSH key".
  5. Choisissez le nom du fichier de destination.

29voto

Don Wakefield Points 4684

Je ne suis pas sûr que votre clé privée fonctionnera sous Ubuntu, mais ça vaut la peine d'essayer. Il suffit de copier les clés dans /home/votreNom/.ssh/, nommez la clé privée id_rsa et la clé publique id_rsa.pub.

Si ça ne fonctionne pas, vous pouvez créer votre propre paire de clés SSH en utilisant ssh-keygen et copier la nouvelle clé publique sur le serveur, puis utiliser SSH comme suit

ssh -i ~/.ssh/id_rsa_ubuntu.pub 

Je n'ai pas expérimenté avec ça, mais j'ai entendu dire que ssh-agent peut également être utilisé pour gérer les clés SSH.

26voto

mahoromhr Points 93

Comment réutiliser vos paires de clés Putty dans Ubuntu en tant que clés OpenSSH :

apt-get install putty-tools #Installer les outils Putty sous Linux
cd /mes-clés-putty
puttygen maclé-sec.ppk O privateopenssh o macléopenssh.sec
ssh-keygen -i -f maclé-pub.ppk > ma-clé-openssh.pub

Puisque le but de l'étape 4 est d'ajouter votre clé publique à *~./ssh/authorized_keys*, vous pouvez utiliser votre clé secrète Putty de cette manière au lieu de faire de 4 une étape intermédiaire :

puttygen L maclé-sec.ppk >> $HOME/.ssh/authorized_keys

9voto

Martin Prikryl Points 433

PuTTY/PuTTYgen utilise son propre format propriétaire de paire de clés. Il ne fonctionnera pas sur Linux, où le format de clés OpenSSH prédomine.

  • Dans PuTTYgen, vous pouvez directement voir (et copier + coller) une clé publique au format utilisé par le fichier authorized_keys OpenSSH.

  • Vous pouvez utiliser le bouton Enregistrer la clé publique pour enregistrer la clé publique dans le format .pub (RFC 4716). Sur Linux, le fichier est généralement nommé id_rsa.pub (ou id_dsa.pub). Mais cela n'est généralement pas nécessaire.

  • Utilisez Conversions > Exporter la clé OpenSSH pour exporter la clé privée au format OpenSSH. Sur Linux, le fichier est généralement nommé id_rsa (ou id_dsa) et est stocké dans le dossier .ssh.

Consultez le guide officiel d'utilisation de PuTTYgen, le générateur de clés PuTTY.

Vous pouvez également utiliser une version Linux de PuTTYgen pour effectuer la conversion. La version Linux est en ligne de commande, contrairement à la version Windows.

puttygen mykey.ppk O privateopenssh o id_rsa

Voir la page man de puttygen sur Linux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X