3

我正在使用 Vagrant 在 Windows 主机上创建虚拟机,我想用 PuTTY 连接到该主机。Vagrant 创建一个 .pem 格式的 RSA 私钥。PuTTY 需要 .ppk 格式的密钥来创建连接。

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

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

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

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

4

2 回答 2

13

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

使用/keygen开关:

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

(我是WinSCP的作者)


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


或者从 PuTTY 代码构建您自己的工具,它是开源的。这相当容易(这基本上就是 WinSCP 所做的)。

用于import_ssh2加载.pem

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

用于ssh2_save_userkey将其另存为.ppk

bool ssh2_save_userkey(
    const Filename *filename, ssh2_userkey *key, char *passphrase);
于 2015-04-15T10:06:46.127 回答
0

我已经编写了一个实用程序来为你做这件事,因为它也让我发疯了。它将监视一个目录并在它们到达时自动转换它们。还将让您快速启动腻子会话。

从这里获取副本

于 2016-02-28T13:01:33.637 回答