Windows 7. Git公钥配置

3
我已经按照这里的指示:http://help.github.com/win-set-up-git/ 在我的Windows 7电脑上安装了git。
我可以使用“git bash”并运行命令。 我会被提示输入我的密钥密码并成功连接,例如:
$git push -u origin master
Enter passphrase for key '/c/Users/mbj/.ssh/id_rsa':
Everything up-to-date

同时,这也是:
$ ssh -T git@github.com
Enter passphrase for key '/c/Users/mbj/.ssh/id_rsa':
Hi markbrenigjones! You've successfully authenticated, but GitHub does not provi
de shell access.

$ which ssh
/bin/ssh

然而,当我打开常规的Windows命令提示符并运行相同的命令时,我会得到这个:
C:\util\meta_vimrc>git push
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

此外还有这个:
C:\util\meta_vimrc>ssh -T git@github.com
Permission denied (publickey).

C:\util\meta_vimrc>which ssh
C:\Program Files (x86)\Git\bin\ssh.exe

我该如何在非"git bash"提示符下使其工作?

确保你的公钥/私钥对位于.ssh目录中,以我的情况为例是C:\Users\Hunter\.ssh - Hunter McMillen
谢谢Hunter,我确实在C:\Users\mbj.ssh文件夹中有一个id_rsa和id_rsa.pub文件。 - mbrenig
2个回答

4
也许程序在从Windows的cmd.exe解释器运行时不知道你的HOME目录在哪里。为了使其工作,必须找到包含你的密钥的ssh配置目录,即/c/Users/mbj/.ssh。
通过运行以下命令设置它:
set HOME=C:\Users\mbj\

那是一个环境变量吗?我有这个:C:\ Users \ mbj .ssh> set HOMEHOMEDRIVE = C:HOMEPATH = \ Users \ mbj - mbrenig
需要运行:set HOME=C:\Users\mbj - mbrenig

-1
对我有效的方法是运行PuTTY的Pageant.exe并将您的私钥添加到其中。然后,无论如何,plink.exe都知道在哪里找到密钥。

我需要一直运行它吗?还是要让它在启动时运行? - mbrenig
1
刚刚尝试了一下 - pageant 返回了 "无法加载此密钥(OpenSSH SSH-2 私钥)。抱歉我对 SSH 密钥不太熟悉。" - mbrenig
是的 - 这个想法是一直运行它。您可能需要使用 puttygen.exe 将密钥导出/导入到 putty 的 .ppk 密钥格式中。 - sblom
尝试过这个,但没有成功。我正在运行pageant.exe,并且已经加载了我添加到github.com的公钥。 - mbrenig
不要使用Pageant,Git Ruin™的道路上铺满了PuTTY。 - Ana Betts

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