在没有bash的情况下将git连接到Windows 7上的github

时间:2010-02-24 18:46:49

标签: git powershell windows-7 ssh github

我正在我的新Windows 7机器上安装git,而且在让github确认我的ssh密钥时遇到了障碍。我正在做一些与标准脚本有点不同的事情,因为我宁愿不使用cygwin而更喜欢使用我的powershell提示符。以下是我的所作所为:

  1. 我安装了msysgit(便携式)。
  2. 我去了C:\ program files \ git \ bin并使用ssh-keygen生成一个公共/私有ssh密钥对,我把它放在c:\ Temp
  3. 然后我在c:\ Users \ myusername \(在Windows 7上)创建了一个名为.ssh \的目录
  4. 我将ssh-keygen(id_rsa和id_rsa.pub)生成的文件移动到.ssh目录中
  5. 我在github上访问了我的帐户,创建了一个新的公钥,将id_rsa.pub的内容复制粘贴到其中并保存
  6. 我现在转到我的powershell提示符,set-alias git'C:\ program files \ git \ bin \ git.exe'
  7. 我现在尝试克隆git@github.com:togakangaroo / ps-profile.git拒绝我的身份验证:

    权限被拒绝(publickey)。 致命:远程端意外挂断

  8. 过去的经验表明,这意味着git无法识别我的钥匙。我错过了哪些步骤?

    我有一种感觉,我需要以某种方式配置git,以便它知道我的ssh键在哪里(虽然它看起来应该自动查看)但我不知道该怎么做。

    另一个可能的线索是,当我尝试运行git config时--global user.name“George Mauer” 我收到错误

    fatal: $HOME not set
    

    但我设置了一个HOME环境用户变量,其值为%HOMEDRIVE %% HOMEPATH%

8 个答案:

答案 0 :(得分:12)

我遇到了同样的问题。我意外地将错误的目录添加到路径中。

我将其从*\Git\bin\更改为*\Git\cmd\后,一切正常。

git.cmd设置环境变量。

答案 1 :(得分:9)

我对

的解决方案
  

“无法打开与身份验证代理的连接。”

Windows 7上的

错误是首先在git Bash控制台中运行ssh -v git@github.com,以找出Github正在寻找的公钥文件类型。我看到的文件名是id_rsa

然后,我在Windows资源管理器中查看了c:\users\username\.ssh文件夹,发现虽然没有id_rsa文件,但有github_rsagithub_rsa.pub

将这些文件复制到c:\users\username\.ssh文件夹并将副本重命名为id_rsaid_rsa.pub分别解决了我的问题。

然后我能够将本地提交推送到Github上的存储库。

答案 2 :(得分:8)

您正在寻找的命令是:  ssh-add C:\path\to\key

首先,您可以通过运行ssh -v git@github.com

来了解ssh当前在哪里寻找您的密钥

答案 3 :(得分:7)

我遇到同样的问题,通过将id_rsa *文件放在C:\Program Files\Git\.ssh文件夹

来解决问题

答案 4 :(得分:3)

我在Windows 7上遇到了这个问题。一旦我通过将HOME指向c / Users /解决了问题,我就解决了缺少的HOME环境变量。

更多信息:http://code.google.com/p/msysgit/issues/detail?id=482

答案 5 :(得分:1)

我在PowerShell中遇到了同样的问题~3小时。

只需将HOME变量设置为

即可
C:\Users\Your Username

并重新启动PowerShell。然后确保所有密钥和所有密钥匹配。

答案 6 :(得分:0)

我遇到了问题,但是当我尝试在我的GitHub登录“帐户设置”页面“SSH公钥”上执行“添加密钥”按钮功能时,Internet Explorer 8.0.7600出现JavaScript错误。这意味着添加密钥失败,并且密钥未在“添加另一个密钥”链接上方的公钥页面上列出。我切换到了Firefox。

答案 7 :(得分:0)

除非完全有必要,否则我建议不要使用便携式mysysgit。使用安装的普通mysysgit,这对我来说几乎是开箱即用的。

但是,我最近在新的Windows机器上进行了设置并遇到了类似的问题。通过将我的plink SSH密钥转换为OpenSSH兼容密钥并将其移动到我的个人.ssh文件夹中来解决此问题。在那之后,它起了作用!

如果有兴趣,see here