![Github、Puttygen 和 Pageant:权限被拒绝(公钥)](https://linux22.com/image/1353910/Github%E3%80%81Puttygen%20%E5%92%8C%20Pageant%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%88%E5%85%AC%E9%92%A5%EF%BC%89.png)
我在 Windows 7 上使用 msysgit 以及PuTTY 套件。
我打开 Puttygen 并点击“生成”按钮。我将光标移到“生成一些随机数”处。密钥创建后,我输入密钥的密码并点击“保存私钥”。我将文件保存为目录中的“private.ppk” c:/Users/Kristen/.ssh
。
然后我点击“保存公钥”,并将里面的文件保存为“public.pub” c:/Users/Kristen/.ssh
。
然后我复制了标有“用于粘贴到 OpenSSH authorized_keys 文件中的公钥”字段的内容。我这样做了不是复制文件的内容public.pub
,因为我知道其中有会破坏密钥的额外数据。
我进入我的 GitHub 帐户,转到“设置”>“SSH 密钥”,然后单击“添加 SSH 密钥”按钮。我给密钥起了个标题,然后粘贴从 Puttygen 复制的密钥并单击“添加密钥”。密钥已成功保存。
我打开 Pageant 并点击“添加密钥”。我从中选择了文件“public.ppk” c:/Users/Kristen/.ssh
。我输入了密码。
我打开 Git bash 并输入。它询问我是否要将 github.com 添加到已知主机列表中。我输入。然后我收到此错误:ssh [email protected]
yes
权限被拒绝(公钥)。
然后我输入并得到以下输出:ssh -v [email protected]
我看到它正在寻找id_rsa
,因此我创建了一个名为的目录id_rsa
并将我的密钥放在其中。
然后我再次输入,并收到以下消息:ssh [email protected]
输入密钥密码
c:/Users/Kristen/.ssh/id_rsa:
我输入了我的私钥的密码,但它却不断地询问。
然后我删除了该文件夹并将我的私钥名称更改为id_rsa.ppk
,但收到相同的“权限被拒绝(公钥)”消息。
我进入控制面板 > 系统 > 系统属性 > 高级 > 环境变量,并将我的GIT_SSH
变量设置为c:\Program Files (x86)\PuTTY\plink.exe
,并且我确认 Plink 确实位于该文件夹中。
不确定还能尝试什么。有什么建议吗?
答案1
我看到它正在名为的文件夹中寻找私钥
id_rsa
。
不,我可以向你保证,id_rsa
这将是一个私人 ssh 密钥的名称文件,不是一个目录。
您的密钥应位于 中%HOME%/.ssh
,但如果您使用 plink 和 pageant(并且不是openssh),确保环境变量GIT_SSH
引用plink.exe
。
例如参见“如何设置 GIT 使用Plink.exe
“。
看到这个生成密钥的教程。