在Windows自动/脚本/命令行中将.pem密钥文件转换为.ppk

时间:2015-04-15 09:36:42

标签: ssh putty private-key pem key-pair

我正在使用Vagrant在Windows主机上创建虚拟机,我想与PuTTY建立连接。 Vagrant以.pem格式创建RSA私钥。 PuTTY需要.ppk格式的密钥才能创建连接。

我想在创建流浪汉VM时自动将.pem转换为.ppk。

如何将.pem转换为.ppk的问题已被多次询问和回答,但在Windows上,所有这些答案都涉及点击puttygen GUI。似乎在Linux上,puttygen可以完全从命令行操作,但在Windows上必须使用GUI。

在创建我想避免的新VM时,必须单击GUI才是我工作流程的一个慢点。

是否有任何命令行/脚本/编程方式在Windows上将.pem文件转换为.ppk格式?

2 个答案:

答案 0 :(得分:8)

WinSCP和更新支持command-line conversion of private keys from OpenSSH (or ssh.com) format to PuTTY .ppk format

使用/keygen开关:

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

或者,您可以使用Cygwin编译/运行Unix命令行puttygen


或者从PuTTY代码构建自己的工具,它是开源的。这应该很容易。

使用import_ssh2加载.pem

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

使用ssh2_save_userkey将其另存为.ppk

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

答案 1 :(得分:1)

我已经写了一个可以为你做这个的实用程序,因为它也让我疯了。它将监视目录并在它们到达时自动转换它们。还可以让你快速启动putty会话。

here

获取副本