the*_*ain 139 git ssh repository heroku public-key
我已经搜索了好几个小时,希望找到一个解决方案来解决我看似容易解决的问题.这并不是说我的搜索没有发现,而是我的搜索出现了许多不同的解决方案 - 其中没有一个有效.
无论如何,我根本无法从我的Mac上推送,拉取或从我的Heroku存储库中取出.每一次尝试都给了我(好像在嘲笑我)以下错误:
'权限被拒绝(公钥).致命:无法从远程存储库读取.
我已尝试(并重新尝试)以多种不同方式修复它.正如我所说,过去两天我花了很多时间寻找答案.以下是我尝试过的一些事情:
我可以从我的GitHub存储库中获取,所以我知道它不是网络连接(ping heroku也可以).
作为一个临时解决方案(我希望不会成为永久解决方案),我已登录到我的Ubuntu Amazon AWS ec2实例.从Heroku拉出和推动工作完美.出于这个原因,我仍然觉得我的Mac上的ssh键问题就好了.这两个键都显示在我的Heroku帐户下.密钥结束时的电子邮件地址是否重要?
编辑:我可以从GitHub推送和拉(但我没有使用ssh),为什么不是Heroku?
在这一点上,我愿意尝试任何事情.谢谢!
Kri*_*eck 279
我知道这已经得到了解答.但我想补充一下我的解决方案,因为它可能对将来的其他人有所帮助.
一个常见的关键错误是:Permission denied (publickey).您可以通过使用keys:add通知Heroku新密钥来解决此问题.
简而言之,请按照以下步骤操作:https://devcenter.heroku.com/articles/keys
首先,如果您没有密钥,则必须创建密钥:
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)
其次,你必须将密钥添加到Heroku:
heroku keys:add
Run Code Online (Sandbox Code Playgroud)
the*_*ain 122
我以为我会分享我找到了自己问题的答案.
写出我的问题让我更加清楚,我进一步调查了我认为我的问题所处的位置:ssh键
事实证明我是对的.问题不在于密钥本身,而在于我没有将其添加到我当地的Mac已知ssh密钥列表中.因此即使我的Heroku帐户上传了正确的密钥,我的Mac也无法通过它进行身份验证,因为它无法在我的计算机上找到该密钥.解决方案?
ssh-add ~/.ssh/id_rsa
#and, to confirm it's been added to the known list of keys
ssh-add -l
Run Code Online (Sandbox Code Playgroud)
我想赞扬https://help.github.com/articles/error-permission-denied-publickey作为一个很好的参考.
Bry*_*ers 31
我有完全相同的错误(在Windows 7上),原因是不同的.我以不同的方式解决了它,所以我想我会在这里为其他人添加原因和解决方案.
即使错误似乎指向heroku真的错误说"Heroku can't get to the git repository".我发誓我在所有服务器上都有相同的密钥,因为我创建了它并同时将其上传到一个接一个.
花了将近一天的时间后,我意识到因为git只显示指纹而不是实际的键.我无法验证它与我的HD或heroku上的键匹配.我查看了已知的hosts文件并猜测...它显示了每个服务器的密钥,我能够清楚地看到git和heroku公钥不匹配.
1)我删除了我的密钥文件夹中的所有文件,使用他们的网站从github获取密钥,使用git bash和命令删除了来自heroku的密钥 heroku keys:clear
2)其次GitHub的说明在这里产生一个新的密钥对并上传公钥与git
3)使用git bash- heroku keys:add
相同的密钥上传到heroku.
现在git push heroku master有效.
多么噩梦,希望这对某人有所帮助.
布赖恩
sjk*_*ing 17
我遇到的问题是我只使用https作为我的GitHub帐户.我需要确保我的GitHub帐户已设置为ssh访问,并且GitHub和heroku都使用相同的公钥.这些是我采取的步骤:
导航到〜/ .ssh目录并删除id_rsa和id_rsa.pub(如果它们在那里).我开始使用新密钥,但可能没有必要.
$ cd ~/.ssh
$ rm id_rsa id_rsa.pub
Run Code Online (Sandbox Code Playgroud)登录heroku,创建一个新站点并添加您的公钥:
$ heroku login
...
$ heroku create
$ heroku keys:add
$ git push heroku master
Run Code Online (Sandbox Code Playgroud)我在linux ubuntu上有相同的情况并且修复了它,似乎操作系统在/root/.ssh/和home/user/.ssh/dir之间混淆了,我做的是:
heroku keysheroku keys:clearheroku keys:add现在在这里,如果heroku找不到一个密钥,并要求生成一个正确的否,这意味着你有与我相同的问题,请执行这样的添加命令heroku keys:add /root/.ssh/id_rsa.pub,你将添加的路径将是你得到的路径在第2步.git push heroku master现在试试| 归档时间: |
|
| 查看次数: |
100058 次 |
| 最近记录: |