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

laf*_*oyb 1 ssh putty pem key-pair private-key

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

我想在创建vagrant VM时自动将.pem转换为.ppk.

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

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

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

Mar*_*ryl 9

WinSCP和更新版本支持将私钥从OpenSSH(或ssh.com)格式命令行转换为PuTTY .ppk格式.

使用/keygen开关:

winscp.com /keygen mykey.pem /output=mykey.ppk
Run Code Online (Sandbox Code Playgroud)

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


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

使用import_ssh2加载.pem:

ssh2_userkey *import_ssh2(const Filename *filename, int type,
                          char *passphrase, const char **errmsg_p);
Run Code Online (Sandbox Code Playgroud)

使用ssh2_save_userkey保存为.ppk:

bool ssh2_save_userkey(
    const Filename *filename, ssh2_userkey *key, char *passphrase);
Run Code Online (Sandbox Code Playgroud)