2011-01-12 17:56:34 +0000 2011-01-12 17:56:34 +0000
200
200

如何在Linux下将.ppk密钥转换为OpenSSH密钥?

我知道在Windows下可以在puttygen下将.ppk转换为OpenSSH密钥,但在Linux上如何转换?这可能吗?

答案 (4)

293
293
293
2011-01-12 18:03:10 +0000

用Putty来做。

  • Linux:用你的软件包管理器,安装PuTTY(或者更简单的PuTTY-tools):

  • OS X:安装Homebrew,然后运行brew install putty

将你的密钥放在某个目录下,比如你的home文件夹。现在将PPK密钥转换为SSH密钥对:cache search

生成私密密钥:

cd ~
puttygen id_dsa.ppk -O private-openssh -o id_dsa

生成密钥。

40
40
40
2012-03-06 14:53:24 +0000
ssh-keygen -i -f id_dsa_1024_a.pub > id_dsa_1024_a_openssh.pub
  • -i标志是从其他的openssh格式导入的
  • -f标志意味着从输入文件中读取

来源: a blogpost at burnz.wordpress.com

5
5
5
2017-10-15 08:47:49 +0000

获取私钥:

在puttygen中打开.ppk文件:

puttygen ~/.ssh/id_dsa.ppk

导出为openssh:

转换→导出OpenSSH密钥

获取公钥:

用puttygen打开像之前的私钥,公钥是在public key下粘贴到OpenSSH授权的keys文件中的_public key

3
3
3
2016-03-07 11:43:22 +0000

为了让生活更简单,我准备了一个Docker容器:

docker run --rm \
           --volume=/path/to/file.ppk:/tmp/id_dsa.ppk \
           --volume=/path/to/output:/tmp/out/ \
           czerasz/putty-tools

哪里:

  • /path/to/file.ppk - 你的ppk文件的本地路径
  • /path/to/output - 私钥和公钥应该放在哪里的本地路径