(使用Vista)我正在尝试从我的GitHub存储库中克隆一个应用程序并将其推送到Heroku中。好的,所以我尝试用这个多次创建一个SSH密钥:
`ssh-keygen -t rsa`
似乎完美无缺。我在我的C:/ Users / *** /。ssh文件夹中有它。我现在尝试克隆我在GitHub中分叉的应用程序。当我尝试在rails_apps目录中克隆它时,我收到一条消息说
Permission Denied(public key).
我在网上找到了一个解决方案,说我应该首先运行它:
`ssh-add`
所以我试着这样做。但它说:
无法打开与身份验证代理的连接。
然后经过一些谷歌搜索后,我发现了一些关于执行ssh-agent的事情。所以我这样做:
`ssh-agent bash`
并且命令行从我的rails_apps目录更改为:
`bash3.1$>`
所以我跑:
`bash3.1$>ssh-add [path to .ssh folder]`
并成功添加了rsa私钥(它不能与id-rsa.pub一起使用)。我还将新生成的公钥粘贴到我的GitHub帐户。
现在当我尝试克隆时:
`bash3.1$>git clone git@github.com:username/myrepo.git`
它现在成功克隆了我在GitHub中分叉的repo。现在我在我的本地仓库中有应用程序,我尝试创建一个heroku应用程序。
`bash3.1$>cd myrepo`
`bash3.1$>heroku create myapp`
此代码成功运行。 Git remote成功添加。现在我所要做的就是推动它。
`bash3.1$>git push heroku master`
BAM!我再次收到错误消息。
Permission denied (public key)
我非常接近将我的应用程序推送到heroku。但它不会起作用。你能帮助我吗。我在这做错了什么?谢谢! :d
答案 0 :(得分:61)
我有类似的问题。 运行以下命令为我修复了它:
heroku keys:add ~/.ssh/id_rsa.pub
用您的id_rsa.pub文件路径替换“〜/ .ssh / id_rsa.pub”。
答案 1 :(得分:1)
注意:您的ticket on GitHub Support提示答案:
你需要给heroku你的钥匙。应该有一个命令来做到这一点。如果找不到,你必须联系他们的支持。
为此,请参阅Graeme Collins的answer(以及Heroku error: "Permission denied (public key)"):
heroku keys:add ~/.ssh/id_rsa.pub
有关该流程的更多信息,请参阅Heroku devcenter 然后,您可以看到所有键的列表,包括键的名称,如下所示:
heroku keys
注意:假设您没有使用sudo来生成密钥,因为“git clone heroku ssh permission denied”说明了(其中heroku keys:add
不起作用)
有关您的其他GitHub Support ticket中的ssh密钥的详细信息。
debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
我不确定为什么会看
/.ssh
而不是~/.ssh
呢 尝试将密钥对移到该路径上。
不应该是:
git push origin master
?默认情况下,对克隆仓库的引用称为“origin”,而不是“heroku”
什么是
git remote -v show
显示?
你想要的,你可以通过heroku名称引用遥远的回购
git remote add heroku git@github.com:git_username/projectname.git
答案 2 :(得分:1)
以下一行解决了我的问题。
heroku accounts:set youraccount
答案 3 :(得分:0)
您可以先在heroku中提供Enail和Password,然后按照以下步骤将本地git存储库添加到heroku应用程序实例中。