web-dev-qa-db-fra.com

Comment convertir une clé privée SSH en un fichier .ppk sur la ligne de commande Windows?

J'ai généré une paire de clés avec ssh-keygen. Je souhaite maintenant utiliser la même paire de clés avec des applications basées sur PuTTY.

Comme je travaille dans un environnement CLI, je souhaite convertir la clé au format .ppk à partir de cet environnement.

Apparemment, vous pouvez utiliser puttygen openssh_private_key -o output_filename.ppk sur des environnements de type UNIX. Mais la version Windows de puttygen chargera simplement la clé et vous invitera à utiliser l'interface graphique pour exporter la clé.

Mode batch pour Windows PuTTYgen suggère que cela n'est tout simplement pas possible actuellement, du moins avec puttygen. J'accepterais volontiers et l'option qui utilise d'autres moyens cependant.

Comment puis-je convertir la clé à partir de la ligne de commande?

7
Der Hochstapler

WinSCP 5.9 et versions ultérieures prises en charge conversion en ligne de commande de clés privées du format OpenSSH (ou ssh.com) au format PuTTY .ppk .

Utilisez le commutateur /keygen:

winscp.com /keygen mykey.pem /output=mykey.ppk

Ou bien, vous pouvez compiler/exécuter le nix en ligne de commande puttygenname __ en utilisant Cygwin.


Ou construisez votre propre outil à partir du code PuTTY. C'est open-source. Cela devrait être assez facile.

Utilisez le import_ssh2 pour charger le .pem:

struct ssh2_userkey *import_ssh2(const Filename *filename, int type,
             char *passphrase, const char **errmsg_p)

Utilisez le ssh2_save_userkey pour l’enregistrer en tant que .ppk:

int ssh2_save_userkey(const Filename *filename, struct ssh2_userkey *key,
          char *passphrase)
8
Martin Prikryl

REMARQUE: L'OP nécessite une ligne de commande. Cette réponse utilise une application graphique ... Laissera la réponse ici au cas où elle serait utile.

Il y a peut-être une solution plus simple.

1) Téléchargez (si vous ne l’avez pas déjà) l’application PuTTY Key Generator (PuTTYgen) en allant ici ou ici .

2) Ouvrez PuTTYgen

3) Cliquez sur Conversions, puis sur la clé d'importation.

4) Localisez votre fichier de clé, puis cliquez sur Ouvrir.

Vous pouvez maintenant enregistrer votre clé dans un fichier PPK en cliquant sur le bouton Enregistrer la clé privée.

Vous pouvez également enregistrer une version publique de votre clé en cliquant sur le bouton Enregistrer une clé publique.

https://devops.profitbricks.com/tutorials/use-ssh-keys-with-PuTTY-on-windows/

https://kb.site5.com/Shell-access-ssh/how-to-convert-ssh-keys-to-ppk-format/

4
sancho.s

Si vous utilisez Linux ou y générez votre clé (ou si vous le pouvez?), Alors vous pouvez utiliser

puttygen -t rsa -C "my home key" -o mykey.ppk

Sinon, si vous êtes sur Windows, je ne vois pas comment vous pouvez réellement le faire, si ce n’est générer la clé sur une autre machine.

3
djsmiley2k