如何在 Windows 命令行上将 SSH 私钥转换为 .ppk?

Der*_*ler 23 windows openssh putty cmd.exe

我已经生成了一个密钥对ssh-keygen。我现在想对基于 PuTTY 的应用程序使用相同的密钥对。

因为我在 CLI 环境中工作,所以我想将密钥转换.ppk为该环境中的格式。

显然,您可以puttygen openssh_private_key -o output_filename.ppk在类 UNIX 环境中使用。但是 Windows 版本puttygen只会加载密钥并提示您使用 GUI 导出密钥。

Windows PuTTYgen 的批处理模式表明目前这根本不可能,至少对于puttygen. 我很乐意接受并选择使用其他方式。

如何从命令行转换密钥?

Mar*_*ryl 29

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

使用/keygen开关:

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

(我是 WinSCP 的作者)


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


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

使用import_ssh2加载.pem

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

使用 将ssh2_save_userkey其另存为.ppk

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


san*_*lio 15

注意:OP 需要命令行。此答案使用图形应用程序...将答案留在这里以防万一。

有一个可能更简单的解决方案。

1) 前往此处此处下载(如果您还没有)PuTTY Key Generator (PuTTYgen) 应用程序。

2) 打开 PuTTYgen

3) 单击转换,然后单击导入密钥

4) 找到您的密钥文件,然后单击打开。

您现在可以通过单击保存私钥按钮将您的密钥保存为 PPK 文件

您还可以通过单击“保存公钥”按钮来保存公钥的公钥版本

https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/

https://kb.site5.com/shell-access-ssh/how-to-convert-ssh-keys-to-ppk-format/

  • 问题是关于*“Windows 命令行”*。 (2认同)

djs*_*ide 6

如果您在 linux 上运行或在那里生成您的密钥(或者您可以?)那么您可以使用

puttygen -t rsa -C "my home key" -o mykey.ppk

如果您还没有 puttygen,则sudo apt install putty-tools在您的系统上使用适当的命令来安装它。

否则,如果您在 Windows 上,除了在另一台机器上生成密钥之外,我看不到您实际上是如何做到的。

  • 最佳答案。无需手动下载,只需“sudo apt install putty-tools”,然后执行上面的“puttygen”命令,即可完成。您可以输入原始密钥的路径,而不是“我的主页密钥”。 (2认同)