Convertir une clé Amazon .pem en clé Putty .ppk Linux

49

J'ai généré et téléchargé une .pemclé privée à partir d'AWS. Cependant, pour utiliser Putty afin de se connecter à la machine virtuelle, je dois avoir cette clé au .ppkformat. Le processus de conversion est détaillé en 20 lignes environ ici:

J'utilise Linux Mint (une distribution Ubuntu) et je sais que je peux utiliser puttygen dans le terminal. Cependant, je ne sais pas comment utiliser cet outil, ni comment configurer les paramètres nécessaires. Quand je tape puttygen --help je reçois

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

Mais je ne sais absolument pas comment faire ce que le site Web me dit de faire et toutes mes tentatives ont échoué jusqu'à présent.

Comment faire ce que le site Web me dit de faire, en utilisant puttygen sur le terminal?

Flame_Phoenix
la source

Réponses:

70

Utiliser l'interface graphique

Voir ce SO Q & A sur la façon de faire exactement ce que vous voulez, intitulé: Convertir le format de fichier PEM en PPK .

extrait

  1. Téléchargez votre fichier .pem à partir d'AWS
  2. Ouvrez PuTTYgen, sélectionnez Type de clé à générer en tant que: SSH-2 RSA
  3. Cliquez sur "Charger" sur le côté droit environ 3/4 vers le bas
  4. Définissez le type de fichier sur *.*
  5. Recherchez et ouvrez votre fichier .pem
  6. PuTTY détectera automatiquement tout ce dont il a besoin, il vous suffit de cliquer sur "Enregistrer la clé privée" et vous pourrez enregistrer votre clé ppk pour pouvoir l'utiliser avec PuTTY.

Utiliser la ligne de commande

Si, par contre, vous souhaitez convertir un fichier .pemen .ppkfichier via l'outil de ligne de commande puttygen, je suis tombé sur cette solution sous SO dans cette Q & R intitulée:

extrait

$ puttygen keyfile.pem -O private -o avdev.ppk

Pour la clé publique:

$ puttygen keyfile.pem -L

Références

slm
la source
les étapes 2 à 6 fonctionnent également pour d'autres types de fichiers de clés privées (par exemple, le fichier résultant d'une commande ssh-keygen de Git Bash), merci!
AtAFork
ne fonctionne plus depuis la ligne de commande
Aryeh Beitz
PuTTYgen n'est pas disponible.
Qasim
Si vous souhaitez ajouter un mot de passe / phrase secrète à la clé privée, ajoutez simplement -P. Par exemple puttygen k.pem -PO private -o k.ppk.
CPHPython
15

Si vous utilisez GNU / Linux, vous n’êtes pas obligé d’utiliser Putty. Cette partie du didacticiel est destinée aux utilisateurs de Windows.

Définissez simplement .pemles autorisations de votre fichier sur r--en faisant cela, chmod 400 mykey.pemvous pourrez alors le passer directement à ssh:

ssh -i mykey.pem [email protected] 
François Feugeas
la source
J'essaie d'utiliser du mastic pour pouvoir suivre les instructions de ce didacticiel . S'il existe d'autres moyens de le faire, n'hésitez pas à expliquer.
Flame_Phoenix
Votre serveur Plex Media se trouve sur la machine AWS et vous essayez de le transférer depuis votre station de travail Mint, ai-je bien compris? Vous devriez ouvrir une autre question expliquant cela, mais de nombreuses questions expliquent déjà comment utiliser le tunneling SSH.
François Feugeas
1
En utilisant la commande que vous avez mentionnée, j'ai pu me connecter à l'instance AWS distante. En fait, je voulais transférer des fichiers que j'avais utilisés avec cette commande (juste au cas où cela aiderait quelqu'un) sftp -oIdentityFile=mykey.pem user@<publicIP>... grâce à votre message qui m'a aidé à résoudre le problème que je rencontrais depuis plus de 5 heures.
Subham Tripathi
0

utiliser la commande ci-dessous sa a travaillé pour moi dans Ubuntu

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

Exemple

puttygen pemKey.pem -o ppkKey.ppk -O private

Thrinadhn
la source
Ceci est déjà décrit dans la réponse acceptée. Vous n'avez pas besoin de l'utiliser sudopour cela, si votre utilisateur actuel a le droit d'écriture dans le répertoire de sortie.
Stephen Kitt
Merci pour votre suggestion @Stephen kitt
thrinadhn