ruby-on-rails - Heroku:帐户无权访问应用程序

标签 ruby-on-rails git heroku

我正在尝试 git pull heroku master,但我得到了

 !  Your account email@gmail.com does not have access to app_name.
 !  
 !  SSH Key Fingerprint: 30:02:49:32...

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已经完成了 heroku login 并成功通过了身份验证。我需要切换帐户,但不确定除了 heroku login 之外我还需要做什么。

最佳答案

尝试找到所有有用的答案 here .

对我来说,我有两个不同的 heroku 帐户,每个帐户都与不同的 git 存储库相关联。所以我不得不告诉 heroku 为每个 key 使用特定的 SSH key (显然,不仅仅是第一个可用 key ,这似乎是默认行为)。对我有用的确切方法是按照步骤 here然后 here .

详情:

创建一个新的 rsa key :指定您想要的任何电子邮件,并选择一个您容易记住并与特定 heroku 应用相关联的名称。或者您可以将其命名为/id_rsa_herokualt。

$ ssh-keygen -t rsa -C "youremail[at]domain.com" -f  ~/.ssh/id_rsa_myherokuapp

添加到您的机器:确保输入您在最后一步中指定的文件名。

$ ssh-add ~/.ssh/id_rsa_myherokuapp

添加到 Heroku:这假设您已经使用 heroku login 登录到 heroku。

$ heroku keys:add ~/.ssh/id_rsa_myherokuapp.pub

将 heroku.com 的备用主机添加到您的 ~/.ssh/config。 通过转到 Finder 并按 command + shift + g 并输入 ~/.ssh/来找到此文件。在文本编辑器中打开配置文件,添加以下文本,然后保存:

Host heroku-alt
HostName heroku.com
IdentityFile ~/.ssh/id_rsa_myherokuapp

更新项目中的 .git/config 以使用主机别名。通过转到 Finder 并按 command + shift + g 并输入 ~/path/to/your/来找到此文件存储库/.git。在文本编辑器中打开配置文件,添加以下文本,然后保存:

[remote "heroku"]
  url = git@heroku-alt:myherokuapp.git
  fetch = +refs/heads/*:refs/remotes/heroku/*

说明:通过在特定项目的 .git/config 文件的 remote 中的 heroku 和 heroku-alt 之间进行选择,您可以管理哪些项目使用哪些凭据。

关于ruby-on-rails - Heroku:帐户无权访问应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25126195/

相关文章:

ruby-on-rails - rails : Creating models from existing tables?

c# - 从 LibGit2Sharp 中的提交中获取修改/添加/删除的文件

android - 从 AOSP 编译电子邮件应用程序

javascript - 从 javascript rails 渲染 html

ruby-on-rails - Facebook Omniauth 登录未返回所有字段

git reset --hard to commit 不起作用 - 提示 HEAD 落后了

html - IFRAME:拒绝显示文档,因为 X-Frame-Options 禁止显示

python - Heroku & Django : "OSError: No such file or directory: '/app/{myappname}/static'"

java - 如何将 Java Web 应用程序迁移到 Heroku

ruby-on-rails - 在 Rails 中重构一个复杂的过滤器