出现此错误“puttygen:加载'name.ppk'时出错:PuTTY 密钥格式太新”

出现此错误“puttygen:加载'name.ppk'时出错:PuTTY 密钥格式太新”

我有一个名为.ppk的文件名。我想在 Ubuntu 终端上使用 .ppk 文件登录 ssh。

我已经尝试过这篇文章在 Ubuntu 终端上使用 .ppk 文件登录 SSH但出现此错误“puttygen:加载‘name.ppk’时出错:PuTTY 密钥格式太新”使用此命令行时“puttygen 名称.ppk -O private-openssh -o 名称.pem”

Puttygen版本:0.73

Ubuntu 版本:20.04

答案1

为了将新的 v3 ppk 文件转换为 pem,您需要使用 puttygen 0.75 或更新版本。在撰写本文时,v0.73 是您可以使用 apt 获得的最新版本,但您可以从源代码下载并构建最新版本的 puttygen。

SuperUser 上的这个答案例如解释如何针对 v0.76 执行此操作:

  1. 如果安装了putty,请卸载它
sudo apt remove putty-tools
  1. 下载putty 0.76版本的unix源代码
mkdir putty_source_code
cd putty_source_code
wget https://the.earth.li/~sgtatham/putty/0.76/putty-0.76.tar.gz
  1. 提取 unix 代码
tar -xvf putty-0.76.tar.gz
cd putty-0.76
  1. 编译 unix 代码
./configure
make
sudo cp puttygen /usr/bin/
  1. 检查版本是否安装正确
puttygen --version # Should output something similar to `puttygen: Release 0.76`
  1. 删除下载的源代码,现在您已将其安装在 /usr/bin 中,因此不再需要它
cd ../..
rm -rf putty_source_code

7. Change to the directory with the .ppk file

cd <目录与ppk_key> puttygen <ppk_key_name.ppk> -O private-openssh -o pem_generated_file.pem

您现在应该在目录中有转换后的密钥

我遇到了和你描述的同样的问题,上面的步骤对我有用。希望对你也有用。

答案2

如果源密钥是使用较新版本的 PuTTY 创建的,则您将无法使用 PuTTYgen 0.73。这是因为自 0.75 版本开始使用新的 PPK 格式

您将需要使用较新版本的 PuTTYgen 或用于ssh-keygen创建公钥/私钥对。

相关内容