从PPK文件创建PEM

63

有很多关于如何使用 puttyGenPEM转换为PPK的教程。然而,我的问题是:我的Windows机器上只有PEM副本,我将其转换为PPK并删除了它。现在我需要弄清楚如何将PPK转换为PEM,以便我的Mac可以通过ssh连接到服务器。我仍然可以访问该服务器,因此如果必须的话,我也可以创建一个新密钥。有人知道如何将PPK转换为PEM吗?

4个回答

119
  1. 安装PuttyTools

apt-get install putty-tools
生成一个 pem 文件,从 ppk
puttygen server.ppk -O private-openssh -o server.pem  

server.pem文件将保存在同一位置。


10
既然原文提到了在Mac上使用.pem密钥,我想提醒一下,您可以在安装Homebrew并使用putty软件包后,在Mac上运行相同的puttygen命令。请注意不要更改原意。 - Erhhung
5
在CentOS / RedHat上,'yum install putty'命令会提供相关的可执行文件。 - Bryji
非常好用,@Emizen! - neaGaze
2
如果有人想知道那个“-0”是不是零,请不要这样想。它是一个“O”。 - Dog
在Windows中,“-O”被识别为无效命令-需要不同的命令吗?建议:打开PuTTYgen 点击“加载”并选择您的.ppk文件 一旦密钥加载完毕,转到菜单中的“转换”并选择“导出OpenSSH密钥” 保存您的新.pem文件 - undefined

12

如果你使用 Mac,并且之前已经安装了 Homebrew,请从终端输入:

$ brew install putty
$ puttygen server.ppk -O private-openssh -o server.pem

第一条命令是在此评论中提出的,第二条命令是来自Emizen Tech的回答


2

首先,使用以下步骤在Mac上安装PuTTY:

brew install putty

然后,使用以下命令将 .ppk 格式的私钥转换为标准的 PEM 格式的私钥:

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

请确保私钥文件的权限设置正确。它只能被拥有者读取。

chmod go-rw privatekey.pem

现在您可以使用以下内容的密钥从脚本和命令行登录:

ssh -i privatekey.pem user@hostname

在最后一个 ssh 步骤中,我会收到“输入密钥密码”的提示 - 我输入登录密码,但是却得到了“无效的密钥长度”错误。 - dashman

2

尝试使用以下命令安装Putty工具:

sudo apt install putty-tools
puttygen key.ppk -O private-openssh -o key.pem
ssh -i ~/key.pem {user}@{ip}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接