2015-04-15 2 views
1

J'utilise Vagrant pour créer des VM sur un hôte Windows, auquel je voudrais me connecter avec PuTTY. Vagrant crée une clé privée RSA au format .pem. PuTTY a besoin d'une clé au format .ppk pour créer une connexion.Convertir le fichier de clé .pem en .ppk sous Windows automatiquement/script/ligne de commande

Je voudrais convertir le .pem en .ppk automatiquement lors de la création de la VM vagabonde.

La question de savoir comment convertir .pem en .ppk a été posée et répondue à de nombreuses reprises, mais sous Windows, toutes ces réponses impliquent un clic sur l'interface graphique de puttygen. Il semble que sur Linux, puttygen peut être entièrement exploité à partir de la ligne de commande, mais sous Windows, l'interface graphique doit être utilisée.

Avoir à cliquer à travers une interface graphique est un point lent dans mon flux de travail lors de la création de nouvelles machines virtuelles que je voudrais éviter.

Existe-t-il une méthode en ligne de commande/scriptable/programmatique pour convertir les fichiers .pem au format .ppk sous Windows?

Répondre

6

WinSCP 5.9 et les supports plus récents command-line conversion of private keys from OpenSSH (or ssh.com) format to PuTTY .ppk format.

Utilisez le commutateur /keygen:

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

Ou, vous pouvez compiler/exécuter la ligne de commande Unix puttygen en utilisant Cygwin. Ou créez votre propre outil à partir du code PuTTY, il est open-source. Cela devrait être assez facile.

Utilisez import_ssh2 pour charger le .pem:

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

Utilisez ssh2_save_userkey pour l'enregistrer comme .ppk:

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

J'ai écrit un utilitaire qui le fera pour vous, car il conduit moi aussi fou. Il va surveiller un répertoire et les convertir automatiquement dès leur arrivée. Vous permettra également de lancer rapidement des sessions de mastic.

Récupérez une copie de here