Siddharth Khokhar Asked: 2021-05-10 08:39:34 +0800 CST2021-05-10 08:39:34 +0800 CST 2021-05-10 08:39:34 +0800 CST 使用 ppk 文件进行 PuTTY SSH 密钥身份验证时出现“PuTTY 密钥格式太新” 772 我想使用 SSH 密钥连接到我的 Unix 服务器。为此,我使用 PuTTYgen 将id_rsa文件从./ssh目录转换为 ppk 文件,但在加载.ppk密钥后,我收到以下警告: PuTTY 密钥格式太新 如果我使用默认id_rsa文件,则会出现错误: OpenSSH SSH-2 私钥(旧 PEM 格式) 无论哪种方式,我都会陷入困境。谁能帮帮我吗? ssh bash 7 个回答 Voted Best Answer willie 2021-09-02T18:35:05+08:002021-09-02T18:35:05+08:00 解决此问题的简单方法,请按照图片操作。 第一步: 第二步: Petr Losev 2021-05-15T17:00:17+08:002021-05-15T17:00:17+08:00 如果您有新 PPK 版本 3 格式的密钥,您可以使用 PuTTYgen 将其导出为旧 PPK 版本 2 格式。 我不知道您使用的是什么操作系统PuTTYgen/PuTTY,但如果是Microsoft Windows,您可以在应用程序菜单中为PuTTYgen选择默认设置PPK 版本 2 : Key->保存密钥文件的参数...->PPK文件版本:2。 PuTTYgen:私钥文件参数 Martin Prikryl 2021-05-10T08:44:10+08:002021-05-10T08:44:10+08:00 您可能使用了比 PuTTY 版本更新的 PuTTYgen 版本。 从 PuTTY 0.75 (2021 年 5 月 9 日发布)开始有新的 PPK 格式。所以我猜你已经使用 PuTTYgen 0.75(或更高版本)来转换你的密钥。但是您正试图在旧版本的 PuTTY 中使用它。 Krzysztof Nowicki 2021-05-24T06:55:41+08:002021-05-24T06:55:41+08:00 我已经将更新版本的puttygen.exeandpageant.exe放在TortoiseGit\bin文件夹中,它可以工作 Rajendra 2021-09-08T06:10:12+08:002021-09-08T06:10:12+08:00 安装最新版本的腻子至少 0.75 它会正常工作 noytzach 2021-05-12T07:02:36+08:002021-05-12T07:02:36+08:00 有类似的问题, 使用 PuTTYgen 0.75 生成的密钥 适用于 PuTTY 0.75 TortoiseGit 2.12.0.0 失败(格式太新) 阅读@martinprikryl 的回答后 在 TortoiseGit->Settings->Network->SSH 客户端更改为 PuTTY 的 plink - 它再次工作 Yaway 2021-08-05T16:52:39+08:002021-08-05T16:52:39+08:00 如果您不想升级或由于计算机上的安全策略而无法升级,您可以下载较新的 puttygen.exe 的二进制文件,运行二进制文件并加载您的 .ppk 文件。加载后,进入“转换”并选择“导出 OpenSSH 密钥”并保存为 .pem 扩展名。 接下来,使用较旧的 puttygen,进入“Conversions”并导入您生成的 .pem 文件。加载后,“保存私钥”到一个新的 .ppk 文件。 此时,您应该能够使用旧的 putty.exe 文件通过您保存的 .ppk 文件连接到您的主机。 假设您拥有 .pub 文件,您可以通过将文件另存为新公钥并比较两个 .pub 文件之间的签名来进行验证。根据我的经验,公钥签名是相同的。 或者正如某些人已经说过的,加载您的 .ppk 文件,进入:密钥 ->“保存密钥文件的参数...”并选择 PPK 文件版本 2 和“保存私钥”。
解决此问题的简单方法,请按照图片操作。
第一步:
第二步:
如果您有新 PPK 版本 3 格式的密钥,您可以使用 PuTTYgen 将其导出为旧 PPK 版本 2 格式。
我不知道您使用的是什么操作系统PuTTYgen/PuTTY,但如果是Microsoft Windows,您可以在应用程序菜单中为PuTTYgen选择默认设置PPK 版本 2 :
Key->保存密钥文件的参数...->PPK文件版本:2。
PuTTYgen:私钥文件参数
您可能使用了比 PuTTY 版本更新的 PuTTYgen 版本。
从 PuTTY 0.75 (2021 年 5 月 9 日发布)开始有新的 PPK 格式。所以我猜你已经使用 PuTTYgen 0.75(或更高版本)来转换你的密钥。但是您正试图在旧版本的 PuTTY 中使用它。
我已经将更新版本的
puttygen.exe
andpageant.exe
放在TortoiseGit\bin
文件夹中,它可以工作安装最新版本的腻子至少 0.75 它会正常工作
有类似的问题,
阅读@martinprikryl 的回答后
如果您不想升级或由于计算机上的安全策略而无法升级,您可以下载较新的 puttygen.exe 的二进制文件,运行二进制文件并加载您的 .ppk 文件。加载后,进入“转换”并选择“导出 OpenSSH 密钥”并保存为 .pem 扩展名。
接下来,使用较旧的 puttygen,进入“Conversions”并导入您生成的 .pem 文件。加载后,“保存私钥”到一个新的 .ppk 文件。
此时,您应该能够使用旧的 putty.exe 文件通过您保存的 .ppk 文件连接到您的主机。
假设您拥有 .pub 文件,您可以通过将文件另存为新公钥并比较两个 .pub 文件之间的签名来进行验证。根据我的经验,公钥签名是相同的。
或者正如某些人已经说过的,加载您的 .ppk 文件,进入:密钥 ->“保存密钥文件的参数...”并选择 PPK 文件版本 2 和“保存私钥”。