我在我的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
答案 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可以解决问题。