Git 当我尝试将最新更改推送到Heroku时,为什么我的带有指纹的密钥未经授权?
在你告诉我参考类似的问题之前,我已经尝试了他们所有的答案,并在网上做了我自己的研究(尽管我对这一点还不熟悉)。当我试图用Git 当我尝试将最新更改推送到Heroku时,为什么我的带有指纹的密钥未经授权?,git,heroku,key,fingerprint,Git,Heroku,Key,Fingerprint,在你告诉我参考类似的问题之前,我已经尝试了他们所有的答案,并在网上做了我自己的研究(尽管我对这一点还不熟悉)。当我试图用 git remote add heroku git@heroku.com:reviews.git 然后 git push heroku master 我得到以下信息: Macintosh-84:reviews dk1552$ git push heroku master ! Your key with fingerprint 2c:4e:7b:df:02:7e:18:c
git remote add heroku git@heroku.com:reviews.git
然后
git push heroku master
我得到以下信息:
Macintosh-84:reviews dk1552$ git push heroku master
! Your key with fingerprint 2c:4e:7b:df:02:7e:18:c8:2a:16:04:bc:59:5b:88:98
is not authorized to access reviews.
fatal: The remote end hung up unexpectedly
我已设置密钥、删除密钥、更改密钥等。我的所有文件夹/文件都位于Users/Dennis/…
例如,我正在更新的一个文件位于:Users/Dennis/reviews/app/views/static\u pages/about\u us.html.haml
我需要做些什么来修复此问题?请查看并运行ssh add-d
,然后重试
还可以尝试(创建一个新的密钥对,并添加将公钥上载到Heroku)。有一次我遇到这种情况,我意识到我(有多个Heroku帐户)使用一个帐户初始化Git,另一个帐户推送更改。显然,这会给您的公钥带来问题
如果是这种情况,请删除.git/.gitignore目录并使用首选帐户重新初始化,或者使用用于初始化git的Heroku帐户登录并使用该帐户推送更改。如果您混合了帐户并遇到此问题,一个简单的解决方法是邀请您自己作为其他电子邮件的合作者访问heroku应用程序。我在git已经有一个工作远程连接到heroku中现有存储库的目录中创建另一个heroku应用程序时遇到了类似的问题。我一直收到与指纹完全相同的错误信息。所以我想做的是为我的web应用程序创建另一个环境 通过发出这些命令,我可以再次按下遥控器。请注意,
keys:add
命令提供了可用公钥的列表。选择与要使用的帐户关联的正确密钥(该帐户具有关联的应用程序)
-从列表中选择正确的公钥以上载到herokuheroku密钥:添加
heroku账户:设置
我的安装程序也使用accounts附加模块。我已经在我的机器上配置了几个Heroku帐户。您可以添加
ssh-Tv的输出吗git@heroku.com
您的问题有何答案?(我不确定它是否真的会有帮助,因为它看起来像是heroku端的配置问题,但它仍然是一个良好的合理性检查。)一种常见的查看错误的方法是推送到您不拥有的应用程序。reviews
的所有者也可能将您作为合作者删除。如果我输入ssh-Tv,你会看到评论吗git@heroku.com我得到:Macintosh-84:~dk1552$ssh-Tvgit@heroku.comOpenSSH_5.2p1,OpenSSL 0.9.8r 2011年2月8日调试1:读取配置数据/etc/ssh_config调试1:连接到heroku.com[50.19.85.154]端口22。debug1:已建立连接。debug1:identity file/Users/Dennis/.ssh/identity type-1 debug1:identity file/Users/Dennis/.ssh/id_rsa type 1 debug1:identity file/Users/Dennis/.ssh/id_dsa type-1 debug1:Remote protocol version 2.0,远程软件版本Twisted debug1:不匹配:Twisted debug1:启用协议2.0debug1:本地版本字符串SSH-2.0-OpenSSH_5.2 debug1:SSH2_MSG_KEXINIT发送的debug1:SSH2_MSG_KEXINIT接收的debug1:kex:服务器->客户端aes128 ctr hmac-md5无调试1:服务器aes128 ctr hmac-md5无调试1:发送SSH2_MSG_KEXDH_INIT debug1:应为SSH2_MSG_KEXDH_REPLY debug1:主机'heroku.com'已知并与RSA主机密钥匹配。debug1:在/Users/Dennis/.ssh/known\u主机中找到密钥:2 debug1:ssh\u rsa\u验证:签名正确debug1:SSH2\u MSG\u NEWKEYS sent debug1:应为SSH2\u MSG\u NEWKEYS debug1:SSH2\u MSG\u NEWKEYS receivedbug1:SSH2\u MSG\u SERVICE sent debug1:SSH2\u MSG\u SERVICE received debug1:可以继续的身份验证:公钥debug1:下一步身份验证方法:公钥调试1:提供公钥:/Users/Dennis/.ssh/id_rsa debug1:服务器接受密钥:pkalg ssh rsa blen 277 debug1:身份验证成功(公钥)。debug1:频道0:新建[客户端会话]debug1:进入交互式会话。shell请求在通道0 Macintosh-84上失败:~dk1552$它似乎仍然无法工作。不过我想确认一下我做的是正确的。首先,我通过键入ssh add-l列出了所有内容。然后我用ssh-add-d将它们全部删除。接下来,我通过键入ssh-keygen创建了一个新的公钥(只需单击enter即可获得所有选项),它说:您的公钥已保存在/Users/Dennis/.ssh/id_rsa.pub中。然后,当我要添加它时,我所做的就是键入以下内容:heroku密钥:add/Users/Dennis/.ssh/id\u rsa.pub最后,当我要推送它时,它会给我相同的错误消息。尝试用ssh add-d
删除密钥,然后推送。。Macintosh-84:~dk1552$ssh add-d ssh\u AGENT\u失败无法删除标识:/Users/Dennis/.ssh/id\r没关系。它说,如果没有身份可以删除。只需使用ssh add-l
再次检查是否缓存了标识(如果有,则使用ssh add-d
将其删除)。然后尝试推送,并在此处报告。尝试ssh add-D
(大写D),它应该显示所有标识已删除。
然后再次尝试推送,并请报告。我遇到了相同的问题,因为我没有意识到我已安装,并且它尝试用于git推送的帐户(ssh密钥)是错误的。当我重新安装插件并阅读自述文件时,我能够解决我的问题。先生,你真是太棒了!站着啊,太棒了!我一直在更新我的钥匙,直到我接受了你的建议。它起作用了!!非常感谢。就我而言,只需再次设置heroku帐户即可