我正在使用 Vagrant 在 Windows 主机上创建 VM,我想与 PuTTY 连接到该主机。 Vagrant 创建一个 .pem 格式的 RSA 私钥。 PuTTY 需要 .ppk 格式的 key 来创建连接。
我想在创建 vagrant VM 时自动将 .pem 转换为 .ppk。
如何将 .pem 转换为 .ppk 的问题已被多次询问和回答,但在 Windows 上,所有这些答案都涉及点击 puttygen GUI。似乎在 Linux 上,puttygen 可以完全从命令行操作,但在 Windows 上,必须使用 GUI。
在创建我想避免的新 VM 时,必须单击 GUI 是我工作流程中的一个缓慢点。
在 Windows 上是否有任何命令行/脚本化/编程方式将 .pem 文件转换为 .ppk 格式?
最佳答案
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 的作者)
或者,您可以编译/运行 Unix 命令行
puttygen
使用 Cygwin。或者从 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);
关于ssh - 在 Windows 中自动将 .pem key 文件转换为 .ppk/脚本/命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29646720/