Question Comment convertir une clé privée SSH en une .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 les applications basées sur PuTTY.

Parce que je travaille dans un environnement CLI, je veux convertir la clé en .ppk format à 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 va simplement charger la clé et vous inviter à utiliser l'interface graphique pour exporter la clé.

Mode batch pour Windows PuTTYgen suggère que ce n’est 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?


4
2018-05-08 10:56


origine




Réponses:


WinSCP 5.9 et plus récents supports conversion en ligne de commande des clés privées au format OpenSSH (ou ssh.com) en PuTTY .ppk format.

Utilisez le /keygen commutateur:

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

Ou, vous pouvez compiler / exécuter le Ligne de commande Unix puttygen en utilisant le Cygwin.


Ou créez votre propre outil à partir du code PuTTY. C'est open-source. Ça 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 le sauver comme .ppk:

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

6
2018-05-09 07:55



J'essayais seulement de construire un script de commodité. Mais c'est l'information la plus utile que je puisse probablement obtenir. - Der Hochstapler
WinSCP 5.8 beta avec prise en charge de la ligne de commande pour la conversion de la clé privée a été publié. - Martin Prikryl
Impressionnant! Je vais essayer la prochaine fois que le problème se pose :) - Der Hochstapler
S'il se bloque en attente d'une pression sur une touche, vous utilisez probablement winscp.exe au lieu de winscp.com. WinSCP a une façon vraiment étrange de spécifier le mode non interactif. - Robert Važan
@ RobertVažan Ce n'est pas une question de non-interactivité. Si vous souhaitez créer un script, vous devez utiliser une application console, pas une application graphique. Lisez à propos de Les exécutables WinSCP. - Martin Prikryl


Si vous utilisez linux ou que vous générez votre clé là-bas (ou peut-être pouvez-vous le faire?), 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, à part générer la clé sur une autre machine.


3
2018-05-08 11:11



C’est ce que j’utilise jusqu’à présent mais ce qui est désagréable, c’est que dans Windows au moins, la fenêtre de puttygen reste ouverte. - Purefan


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

Il existe une solution peut-être 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) Ouvrir PuTTYgen

3) Cliquez sur Conversions, puis sur Importer la clé.

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

Vous pouvez maintenant enregistrer votre clé en tant que 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 la 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/


1
2017-12-19 11:57



La question concerne "Ligne de commande Windows". - Martin Prikryl
@MartinPrikryl - Vous avez raison, je vais faire une note à ce sujet. Je pourrais aussi bien le supprimer, mais j'ai vu très souvent des cas similaires où les lecteurs jugeaient les réponses utiles de toute façon. Et c'est l'objectif principal de SO. - sancho.s