使用PuTTYgen将id_rsa.pub转换为ppk时“无法加载私钥(非私钥)”

时间:2015-09-20 05:59:03

标签: windows putty private-key git-bash

我在我的Windows 7 64位上安装Git 2.5.0(包含在最新的docker-toolbox中)。

我尝试使用git-bash重新生成新密钥:

ssh-keygen -t rsa

并将新密钥保存到特定位置。尝试使用PuTTYgen转换为.ppk文件时出现错误:

  

无法加载私钥(不是私钥)

我的Git版本有问题吗?

这是.pub文件:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YN/jejgFKubJ7YBUdl18EKuxFcC2CS/Rl19u6giHIz6zP548guM22Vm1edOLHN6qh2tpJkbzN6FOtLrCUXQqQ4unBqPlAY0dU4Cvzh86TDqdWixOV3AuBGJAMmjrrGe/U3/yO1RgR1pARrl7ZpY7ma7tP/9o8rGDmbQclIULNcI5AYCjRLICgbDlawT8jRYBT33VztphLi9HzGgDtSPANGJpgRrnYcoF3ZJL4E/CC7SW33lz2S/cLsupDdjusPWJjzR8vDKCXYtBTjvNP+a5GY21Z7eQHwD0MBFdxyHCMM0rnVWMJFmNNYy0N2ho5TrJ7kUHbzz4tUfrGPdWzOqX dxx@dxx-SandBox

3 个答案:

答案 0 :(得分:2)

您显然是在为PuTTYgen加载公钥,而不是私钥。

ssh-keygen -t rsa生成两个文件:

  • 密钥对id_rsa(包含公钥和私钥):

    -----BEGIN RSA PRIVATE KEY-----
    ...
    -----END RSA PRIVATE KEY-----
    
  • 公钥id_rsa.pub

    ssh-rsa ... comment
    

您无法将id_rsa.pub加载到PuTTYgen。没有意义,因为该文件不包含私钥。

您必须加载id_rsa

答案 1 :(得分:0)

我有类似的问题。对于Puttygen 6.2,错误为“无法加载私钥(非私钥)”,对于Puttygen 7,错误为“无法加载私钥(非公认密钥文件格式)”。

事实证明,解决方案非常简单-我使用的.pem文件保存有UNIX行尾(LF)。将文件转换为Windows行尾(CR LF)意味着Puttygen能够读取它。

答案 2 :(得分:-1)

不确定确切的问题是什么,但是安装新版本的PuttyGen可以解决问题。