在 macOS 上将 .pem 转换为 .ppk

Posted

技术标签:

【中文标题】在 macOS 上将 .pem 转换为 .ppk【英文标题】:convert .pem to .ppk on macos 【发布时间】:2016-09-14 04:24:02 【问题描述】:

有很多关于这个主题的 SO 帖子,但其中大部分是针对 Windows 并使用 GUI。所有其他帖子似乎都使用 CLI。

在 MacOS/Linux 上是否有 GUI 版本的 puttygen 以及如何安装/使用的说明? CLI 似乎给了我一个错误。

Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]


>puttygen mykey.pem -t rsa -b 2048 -o mykey.ppk
puttygen: cannot both load and generate a key

我的命令有问题吗?

【问题讨论】:

【参考方案1】:

AFAIK,OSX 的腻子版本没有 GUI。

您可以像这样简单地转换您的密钥:puttygen mykey.pem -o mykey.ppk

【讨论】:

感谢您的回复。我想我想知道他们为什么要提供命令选项?根据他们的文档,AWS 指令似乎需要 rsa 类型和 2048 位。 docs.aws.amazon.com/AWSEC2/latest/UserGuide/…。糟糕的文档。 不知道他们为什么在 GUI 中设置大小,那里别无选择,您不会将 openssh 2048bita 密钥转换为 putty 1024bits 密钥;) puttygen 在 mac 上可用吗? 是的,您可以使用 brew 安装它,或者从源代码手动构建。 运行 brew install putty 以获得正确的公式。 http://brewformulas.org/Putty 在 mac OSX 10.12.6 上,尝试安装 puttygen 返回错误:Error: No available formula with the name "puttygen" 【参考方案2】:

现在你应该输入

puttygen Fishidentification.pem -o fishkey.ppk --ppk-param version=2

因为Putty/FileZilla ssh 客户端应用的是PPK 格式版本2 而不是版本3。如果您没有添加参数--ppk-param version=2,puttygen 将默认生成PPK 格式3 的ppk 文件。错误信息如下所示:

致命错误:没有可用的受支持的身份验证方法(服务器 发送:publickey,gssapi-keyex,gssapi-with-mic)

【讨论】:

以上是关于在 macOS 上将 .pem 转换为 .ppk的主要内容,如果未能解决你的问题,请参考以下文章

将 PEM 转换为 PPK 文件格式

将 PEM 转换为 PPK 文件格式

从 PPK 文件创建 PEM [重复]

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

ppk和pem文件互转

将证书从 pem 转换为 jks