Heroku 错误:“权限被拒绝(公钥)”
Posted
技术标签:
【中文标题】Heroku 错误:“权限被拒绝(公钥)”【英文标题】:Heroku error: "Permission denied (public key)" 【发布时间】:2011-03-29 18:14:30 【问题描述】:我不断收到此错误。我正在使用 Mac。我生成了一个密钥并使用
将其添加到 herokuheroku config:add key="ssh-rsa blahblah=me@me.com"
但这不起作用。我不断收到同样的错误。没有重新安装 ssh-keygen,我该怎么办?
【问题讨论】:
【参考方案1】:试试heroku keys:add <path-to-your-public-key>
。
例如,heroku keys:add ~/.ssh/id_rsa.pub
【讨论】:
在我的 Hackintosh 上安装 Github for Mac 时,预期文件位于此路径中:~/.ssh/github_rsa.pub 如果仍然有错误,也可以尝试 ssh-keygen -t rsa -C "your_email@youremail.com" 创建另一个 file.pub 并在此答案的推荐命令中使用该文件跨度> 【参考方案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
【讨论】:
【参考方案3】:如果您还没有 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
【讨论】:
【参考方案4】:我遇到了同样的问题。写下我的经验,以便对其他人有所帮助。
我尝试按照the official website -Getting Started with Your Facebook App on Heroku 上的说明进行操作
尽管它非常详细,尤其是视频,但值得注意的是,他们没有提到必须设置 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 中不能始终如一地工作???【参考方案5】:上面的解决方案对我不起作用,因为我的 ~/.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
【讨论】:
【参考方案6】:这也可能表明 API 存在问题。请务必查看https://status.heroku.com
【讨论】:
以上是关于Heroku 错误:“权限被拒绝(公钥)”的主要内容,如果未能解决你的问题,请参考以下文章
Heroku“权限被拒绝(公钥)致命:无法从远程存储库中读取”问题
权限被拒绝(公钥)。 GitLab 突然出现错误。我正确配置了私钥和公钥
GitLab 错误消息 - 权限被拒绝(公钥) - Bitnami