Heroku错误:“权限被拒绝(公共密钥)”


94

我不断收到此错误。我正在使用Mac。我生成了一个密钥并将其添加到使用

heroku config:add key="ssh-rsa blahblah=me@me.com"

但这是行不通的。我不断收到相同的错误。如果没有重新安装ssh-keygen,我该怎么办?

Answers:


217

尝试heroku keys:add <path-to-your-public-key>

例如, heroku keys:add ~/.ssh/id_rsa.pub


2
在安装了Github for Mac的我的Hackintosh上,预期文件位于以下路径:〜/ .ssh / github_rsa.pub
Jahan

2
也可以尝试的ssh -凯基-t RSA -C“your_email@youremail.com”如果仍然有错误,创建另一个file.pub和使用一个在这个答案推荐的命令
汤姆Roggero

19

上面的解决方案对我不起作用,因为我的〜/ .ssh文件夹中没有生成任何密钥。

我的解决方案是简单地键入 heroku keys:add

终端的输出为:

Could not find an existing public key.
Would you like to generate one? [Yn] y
Generating new SSH public key.
Uploading SSH public key /home/funkdified/.ssh/id_rsa.pub... done

参见:https : //devcenter.heroku.com/articles/keys


4

我面临着同样的问题。写我的经验可以帮助别人。

我试图按照官方网站上详细介绍的说明进行操作-Heroku上的Facebook应用程序入门

即使特别是视频,它也很令人讨厌地注意到他们没有提到必须设置SSH密钥。要么是默认设置(我不知道),要么是问题海报提到了错误。

所以我做了以下事情:

1。打开git shell

2。在以下输入

C:\Users\blue\Documents\GitHub> heroku keys:add
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
Which would you like to use with your Heroku account? 2

3。之后,我能够检出我的存储库

C:\Users\blue\Documents\GitHub> heroku login
Enter your Heroku credentials.
Email: sxxxxt.xxxx@gmail.com
Password (typing will be hidden):
Authentication successful.
C:\Users\blue\Documents\GitHub> git clone git@heroku.com:sxxxd-plains-8530.gi
t
Cloning into 'sxxxd-plains-8530'...
Warning: Permanently added 'heroku.com,50.19.85.154' (RSA) to the list of known
hosts.
remote: Counting objects: 180, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 180 (delta 82), reused 132 (delta 62)
Receiving objects:  81% (146/180), 76.00 KiB | 62 KiB/s
Receiving objects: 100% (180/180), 137.91 KiB | 62 KiB/s, done.
Resolving deltas: 100% (82/82), done.
C:\Users\blue\Documents\GitHub>

请不要拒绝我的回答。即使我没有为已发布的内容添加任何新的价值,但我希望我的经验能对使用git&heruko的新手有所帮助。因此,我添加了屏幕截图。

  • 我的2美分

您的解决方案可以在Git Bash中使用,但是我不知道为什么在Windows cmd中相同的步骤不能始终如一地工作???
cyber101

2

将文件复制到.ssh路径中,例如:

/c/Users/<yourusername>/.ssh/<files>

到git .ssh文件夹。

/c/Program Files/Git/.ssh/<paste files here>

如果.ssh文件夹在Git目录中不存在,只需创建它,然后粘贴您的文件。

出于某些原因,Windows要求.ssh路径必须位于用户目录以及Git目录中。在默认情况下,不会添加它,因此您只需要自己创建即可。

将文件添加到Git的目录后,只需再次运行以下命令:

git push heroku master


1

如果您还没有ssh密钥,请尝试使用以下命令生成它:

1. ssh-keygen -t rsa -C "your_email@example.com"
2. ssh-add

要摆脱被拒绝的heroku权限(公共密钥),请使用以下命令将密钥添加到heroku:

3. heroku keys:add <path_to_your_ssh>
    OR
 heroku keys:add

为了摆脱拒绝的Github权限(公共密钥),请使用以下命令将您的密钥添加到Github:

4. ssh-add <path_to_your_ssh> 
     OR
  ssh-add
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.