没有为Heroku排队的钥匙?

时间:2013-08-07 01:15:34

标签: git heroku windows-7 github ssh

所以我遇到了问题,你试图推送到Heroku并且它说Permission denied (publickey). fatal: Could not read from remote repository.所以我找到了this question(更详细地描述了它)并且完成了整个答案并且成功了解决我的问题。我建议阅读本文的其他人阅读下一段以了解我的特定问题,然后在继续此处之前尝试上述链接中的解决方案。

但我还没有完全确定。这就是事情。虽然我没有使用它,但我安装了GitHub GUI,如果我右键单击GUI浏览器中的本地仓库并选择“在这里打开Shell”,无论该shell的上下文/环境是什么,我都可以推送到Heroku从那里没问题。

但是,如果我只是打开好的'命令行并导航到app文件夹并尝试相同的事情,我得到整个 Permission Denied你的公钥很糟糕

终端配置有什么不同?

修改

SEEM 以上命令失败,因为ssh由于某种原因无法正常工作。当我运行ssh-add -l时,我得到Could not connect to authentication agent,这是另一个流行的错误,包含许多建议的解决方案。我发现的唯一一个(十分之一以上)可以运行bash(我们在Windows命令提示符下,请注意),然后是eval "$(ssh-agent)",其中{{1}无论那意味着什么,Agent pid 48532之后ssh-add -lThe agent has no identities 意味着什么,这就是我即将研究的内容。兔子洞更深了......

此外,如果我退出bash,ssh-add -l会回到Could not connect to authentication agent。 :(我希望这在我的正常命令提示符下工作!!

2 个答案:

答案 0 :(得分:1)

  

免责声明:我几乎不知道我在说什么。

所以我发现我收到了Permission denied (publickey) fatal: Could not read from remote repository消息,因为ssh-agent无法正常工作。当我尝试ssh-add -l时,会说Could not connect to authentication agent。一旦我进入bash并且eval "($ssh-agent)",然后ssh-add -l,它会说The agent has no identities,这听起来像是一部精彩的间谍电影,但实际上只是让我感到烦躁不安完成工作。

我真的只知道这有什么意义或意味着什么,但这是我修复它的方式。请记住,这一切都是在标准的Windows 7命令提示符下完成的。假设你已经不在bash中了 -

cd path-to-Git/bin (for example, cd C:\Program Files\Git\bin)
bash
exec ssh-agent bash
ssh-add "path/to/.ssh/id_rsa"

确保路径指向“私钥”。路径必须用引号括起来。不要在末尾添加“.pub”。你会知道它有效,因为它会给你一个关于正在创建的身份或类似信息的消息。

剩下的唯一让我感到困惑的是想知道我是如何在第一时间安装bash的......也许它带有git?还是GitHub?还是Rails?还是Heroku?真的不知道它来自哪里......当然它以前不存在,我不认为它带有Windows 7 ......

无论如何,在我完成所有这些之后,即使在关闭和重新打开之后,git push heroku master也会在所有贝壳中为你工作,包括进出bash。无论我做了什么,它都是永久性的并且有效!现在开心。

答案 1 :(得分:0)

您需要检查两个命令行环境中的%HOME%是什么。

在“good ol'命令行”中,您可以输入:

set HOME

这将显示其价值。

但是如果没有定义,那么你的错误信息是正常的。

类型:

set HOME=%USERPROFILE%

并检查%PATH%(为了从两个环境中的相同命令中受益)。