将 PEM 转换为 PPK 文件格式

Posted

技术标签:

【中文标题】将 PEM 转换为 PPK 文件格式【英文标题】:Convert PEM to PPK file format 【发布时间】:2018-07-30 23:40:09 【问题描述】:

有没有办法将 PEM 文件转换为 PPK 文件? (你可能猜到 Amazon EC2 给了我一个 PEM 文件,我需要使用 PPK 格式进行 SSH 连接)。

【问题讨论】:

从未听说过 ppk 格式,但我怀疑 .NET 中是否有任何内容。 PPK 是 Putty 客户端格式。我不认为 .NET 与它有任何关系。 好吧,我没有意识到这一点......所以 PPK 只是一种专有/奇怪的格式,只存在于 Putty 领域? 这也是 FileZilla 接受的唯一格式。 AmazonWebServices 提供密钥的默认格式。 【参考方案1】:

使用PuTTYGen

创建和使用 SSH 密钥

概述

vCloud Express 现在能够为 Linux 服务器创建 SSH 密钥。此功能将允许用户通过选择“我的帐户/密钥管理”选项来创建多个自定义密钥。创建密钥后,用户需要在 Linux 的“创建服务器”过程中选择所需的 SSH 密钥。

创建和使用 SSH 密钥

    创建密钥 导航到“我的帐户” 选择“密钥管理” 创建新密钥。 在密钥创建过程中,系统会提示您下载 .PEM 格式的私钥文件。您将无法再次下载私钥,因为它未存储在 vCloud Express 中。 “默认”复选框用于 API。 部署服务器并选择密钥

    连接

    SSH (Mac/Linux) 将 .PEM 文件复制到您要连接的机器上。 确保 .PEM 文件的权限适当(chmod 600 file.pem) 用 ssh 命令连接:ssh vcloud@ipaddress –i privkey.pem 腻子 (Windows) 从 - here 下载 Putty 和 puttygen 使用 puttygen 将 .PEM 文件转换为 .PPK 文件。 启动 puttygen 并选择“加载” 选择您的 .PEM 文件。 Putty 会将 .PEM 格式转换为 .PPK 格式。 选择“保存私钥”密码不是必需的,但如果需要额外的安全性,可以使用。

    与 Putty 连接。

    启动 Putty 并输入主机 IP 地址。如果连接到 10.X 私有地址,您必须先建立 SSL *** 连接。 导航到连接/SSH/身份验证

    单击“浏览”并选择您从 puttygen 导出的 .PPK 文件。

    单击“打开”。建立连接时输入用户名(默认为 vcloud)。

从here复制的说明

【讨论】:

谢谢,我做到了,它成功了! LoneRanger,我认为您可以将此标记为正确答案:-)【参考方案2】:

我很震惊,因为解决方案非常简单,所以这个问题没有得到回答。

正如之前的帖子中提到的,您不想使用 C# 转换它,而只想转换一次。使用 PuTTYGen 很容易做到这一点。

    从 AWS 下载您的 .pem 打开 PuTTYgen 点击右侧约 3/4 处的“加载” 将文件类型设置为 *.* 浏览并打开您的 .pem 文件 PuTTY 会自动检测所需的一切,您只需点击“保存私钥”即可保存您的 ppk 密钥以与 PuTTY 一​​起使用

享受吧!

【讨论】:

对于此解决方案不起作用的用户,请从 chiark.greenend.org.uk/~sgtatham/putty/download.html 更新您的 puttygen。我的是 2005 年的,无法打开 PEM 当你在寻找如何做你很久没有做的事情时,你会发现你在 2.5 年前给出的 *** 答案,这真的很有趣。 @trex005 好吧,*** 现在似乎是我们记忆的延伸,我们不需要记住所有事情。 @ParamvirSinghKarwal 你说的太对了...我可能每一两年都会使用这篇文章作为我自己的记忆,但我不再发表评论了,因为它会很烦人!【参考方案3】:
    下载puttygen 然后打开puttygen 点击加载 将文件类型设置为所有文件 保存私钥 然后你可以保存文件成为 ppk 文件的任何名称

【讨论】:

【参考方案4】:

如果您有 Linux 机器,只需在系统中安装 puttygen 并使用以下命令转换密钥

pem 到 ppk 使用以下命令:

puttygen keyname -o keyname.ppk

以下命令用于将 ppk 转换为 pem 而不是 pem 转换为 ppk

puttygen filename.ppk -O private-openssh -o filename.pem

【讨论】:

你可以在大多数 Linux 发行版上安装 putty - 这里有一个很好的列表:command-not-found.com/puttygen 下面推荐将 pem 转换为 ppk puttygen keyname -o keyname.ppk 有什么问题 您已编辑并提及用于将 ppk 转换为 pem 的命令 请不要像官方文档说的那样使用sudo,上面的命令是正确的。 puttygen 文件名.ppk -O private-openssh -o 文件名.pem【参考方案5】:

要通过 SSH 连接到 AWS EC2 实例,即使在 Windows 机器上,您也不需要将 .PEM 文件转换为 PPK 文件,使用“git bash”工具进行简单 SSH。无需下载和转换这些软件 - 希望这将节省您下载和转换密钥的时间,并让您有更多时间在 EC2 上。

【讨论】:

或者,在 Windows 10 中,“Bash on ubuntu on windows” 你需要ppk才能使用putty做ssh 答案是正确的但没有解决标题中的问题 在我看来,这确实解决了这个问题。这不像“只使用 abc 而不是 xyz”的建议,这个答案是说使用 ssh 来做 ssh,因为 ssh 不需要 ppk。【参考方案6】:
    将 YourPEMFILE.pem 保存到您的 .ssh 目录中

    从命令提示符运行 puttygen

    一个。单击“加载”按钮以“加载现有的私钥文件” 湾。将文件过滤器更改为“所有文件 (.) C。选择 YourPEMFILE.pem d。点击打开 e. Puttygen 显示一条通知,说它已成功导入外键。点击确定。 F。点击“保存私钥”按钮 G。当询问您是否确定要在不输入密码的情况下进行保存时,请回答“是”。 H。输入文件名 YourPEMFILE.ppk 一世。点击“保存”

【讨论】:

【参考方案7】:

将 .pem 文件转换为适用于 Windows 10 的 .ppk

您需要做到以下几点:


1. 使用 Pageant 下载 PuTTYGen2.“加载” 按钮并选择您的 ".pem" 文件。3.“保存私钥” 按钮并保存您的“.ppk” 文件。4. 打开 Pageant 并按 “添加密钥” 按钮。只是所有。 继续在后台运行 Pageant5. 现在通过 SSHSFTP 登录,无需选择密码字段。




【讨论】:

【参考方案8】:

用于 Ubuntu/Linux 的 PuTTYgen 和 PEM 到 PPK

sudo apt install putty-tools
puttygen -t rsa -b 2048 -C "user@host" -o keyfile.ppk

【讨论】:

【参考方案9】:

我使用了 ZOC 终端仿真器的试用版,它工作正常。它很容易接受亚马逊的 *.pem 文件。

但诀窍是,您需要为用户名指定“ec2-user”而不是“root”——尽管 EC2 控制台中显示了示例,但这是错误的! ;-)

【讨论】:

【参考方案10】:

sudo yum install putty

sudo apt-get install putty-tools

将 .pem 文件转换为 .ppk 文件

sudo puttygen pemKey.pem -o ppkKey.ppk -O private

将 .ppk 文件转换为 .pem 文件

sudo puttygen ppkkey.ppk -O private-openssh -o pemkey.pem

【讨论】:

【参考方案11】:

我遇到了同样的问题,PuttyGen 不想导入 openSSH 私钥。我尝试了一切,我发现旧版本的 PuttyGen 不支持导入 OpenSSH。一旦我下载了最新的 Putty,puttygen 就允许它很好地导入 openssh 私钥。现在,我的桌子边上有一个洞,过去一个小时我的头一直撞在上面。

【讨论】:

以上是关于将 PEM 转换为 PPK 文件格式的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 Ubuntu 中使用 PuTTYgen 将 PEM 文件转换为 PPK?

从 PPK 文件创建 PEM [重复]

将 Java 密钥库转换为 PEM 格式

将Java密钥库转换为PEM格式

如何将 PKCS#8 格式的 PEM 私钥转换为传统格式?