您的帐户example@email.com无权访问<app-name> </app-name>

时间:2013-12-14 18:57:20

标签: git heroku ruby-on-rails-4

我无法将代码推送到heroku。我有一个帐户,但我忘了密码。我创建了一个新帐户并试图推送它,但现在它显示了我的错误:

Your account someoneelse@gmail.com does not have access to
! SSH Key Fingerprint: 

如何使用新帐户登录?我想用新帐户删除此错误消息。我已将最新的ssh密钥上传到heroku。我已经尝试了所有内容来推送heroku上的代码(基本设置),但我无法通过这个错误。


您帐户中的任何应用程序都有两个ssh密钥,您应该删除一个不在“〜/ .ssh /”文件夹中的应用程序,或者按照以下步骤操作。

以下是解决方案:

  1. 访问www.heroku.com并使用引发错误的帐户登录。
  2. 转到应用程序设置。 (例如,对于名为“rails-demo”的应用程序,请转到rails-demo设置并检查是否有两个ssh密钥)

  3. 删除系统中不再存在的密钥

  4. 或者您可以删除它们,然后使用这些命令生成新的。

    -> ssh-keygen -t rsa

    -> heroku keys:add

  5. 上传新的,然后在您的控制台类型中

    -> heroku log-in

  6. 使用您的帐户登录,然后将其推送到您的应用。
  7. 现在已经解决了。

6 个答案:

答案 0 :(得分:25)

你需要:

确保your ~/.ssh/config file has an 'myNewAccount' entry

Host heroku.myNewAccount
  HostName heroku.com
  IdentityFile ~/.ssh/id_heroku_myNewAccount_rsa
  IdentitiesOnly yes

然后更改远程“来源”网址

git remote set-url origin git@heroku.myNewAccount:<appname>.git

或者,Ian Vaughan comments below

  使用'heroku-toolbelt'时,

origin通常为heroku

git remote set-url heroku git@heroku.myNewAccount:<appname>.git

最后一步将确保git push将使用您的新帐户,而不是旧帐户。

点击“Multiple heroku accounts”了解更多信息。


如果您在配置文件中添加“用户git”,则可以删除凭据用户名“git”:

Host heroku.myNewAccount
  User git
  HostName heroku.com
  IdentityFile ~/.ssh/id_heroku_myNewAccount_rsa
  IdentitiesOnly yes

这意味着你可以使用:

git remote set-url origin heroku.myNewAccount:<appname>.git
# or
git remote set-url heroku heroku.myNewAccount:<appname>.git

答案 1 :(得分:11)

这对我有用:

$ heroku auth:logout

然后

$ heroku auth:login

答案 2 :(得分:2)

我希望这对你有用。通过使用此gem,您可以管理多个帐户 https://github.com/ddollar/heroku-accounts

答案 3 :(得分:1)

从“homedir / .ssh”中删除ssh密钥,并检查该ssh密钥是否在那里不可用。

我在更新后使用你的问题解决了。

答案 4 :(得分:0)

如果您有多个帐户,请使用新的或必需的帐户登录

$ heroku login
Enter your Heroku credentials.
Email: new@example.com
Password: 

$ heroku keys:add

如果您已将旧密钥用于另一个heroku帐户,则生成密钥。

答案 5 :(得分:0)

我在将 Rails 应用程序部署到 Heroku 时遇到了同样的问题。

使用以下命令登录 Heroku CLI 后:

heroku login

并使用以下命令创建新应用程序:

heroku create

当我运行命令 git push heroku main 时,出现以下错误:

remote: !       Your account name@mymail.com does not have access to stark-temple-39676.
fatal: unable to access 'https://git.heroku.com/stark-temple-39676.git/': The requested URL returned error: 403

我尝试了多种解决方案,但没有一个对我有用。

这是我修复它的方法

首先我运行命令 git remote -v 来查看远程列表,我得到了这个输出:

heroku  https://git.heroku.com/stark-temple-39676.git (fetch)
heroku  https://git.heroku.com/stark-temple-39676.git (push)

问题是 heroku git repo stark-temple-39676 的名称与应用程序 gentle-lowlands-46404 的名称不同。显然,heroku 存储库名称 stark-temple-39676 是我之前使用另一个 Heroku 帐户部署到 Heroku 的以前的应用程序的名称。

我所要做的就是删除 heroku 存储库名称:

git remote rm heroku

然后删除应用程序;

heroku apps:destroy --app=gentle-lowlands-46404

然后重新创建应用程序:

heroku create

这次我使用命令推送应用程序:

git push heroku main

效果很好。

注意

  1. 如果您仍然需要它,您可以修改旧应用的存储库名称为 heroku-old,然后重新创建新应用。
  2. 您还可以从 Heroku 帐户仪表板为新应用添加 git repo URL,而不是删除它并重新创建它。

仅此而已。

我希望这会有所帮助