在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk
Posted
技术标签:
【中文标题】在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk【英文标题】:Convert .pem key file to .ppk in Windows automatically/script/command line 【发布时间】:2015-06-21 04:58:00 【问题描述】:我正在使用 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 格式?
【问题讨论】:
【参考方案1】:WinSCP 支持command-line conversion of private keys from the OpenSSH (or ssh.com) format to the PuTTY .ppk
format。
使用/keygen
开关:
winscp.com /keygen mykey.pem /output=mykey.ppk
(我是 WinSCP 的作者)
或者,您可以使用 Cygwin 编译/运行 Unix 命令行 puttygen
。
或者使用 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);
【讨论】:
【参考方案2】:我已经编写了一个实用程序来为你做这件事,因为它也让我发疯了。它将监视一个目录并在它们到达时自动转换它们。还可以让您快速启动 putty 会话。
从here获取一份副本
【讨论】:
不再存在以上是关于在 Windows 中自动/脚本/命令行将 .pem 密钥文件转换为 .ppk的主要内容,如果未能解决你的问题,请参考以下文章
如何使用命令行将“其他链接器标志”添加到 xcode 项目?