【问题标题】:Heroku: Your account example@email.com does not have access to <app-name>Heroku:您的帐户 example@email.com 无权访问 <app-name>
【发布时间】:2014-01-02 10:21:07
【问题描述】:

我无法将代码推送到 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. 或者您可以同时删除它们,然后使用这些命令生成新的。

    -&gt; ssh-keygen -t rsa

    -&gt; heroku keys:add

  5. 上传新的,然后在你的控制台输入

    -&gt; heroku log-in

  6. 使用您的帐户登录,然后将其推送到您的应用程序。

  7. 现在解决了。

【问题讨论】:

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


    【解决方案1】:

    你需要:

    确保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

    origin 在使用 'heroku-toolbelt' 时通常为 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
    

    【讨论】:

    • 但我想删除所有凭据。怎么做?我仍然收到错误。
    • @SSR 我已经编辑了答案:您可以删除 url 的“git@”部分,但在访问远程 url 时必须使用某种凭据。
    • 就我而言,只需要最后一步。当我创建帐户时,它的应用名称错误。仅将“heroku”的“来源”和应用程序名更改为我正确的应用程序名。
    • 正如@CassioS.Cabral 所说,origin 在使用heroku-toolbelt 时通常为heroku,不确定答案是否需要更新,因为origin 是常态,人们知道那是什么是什么意思?!
    • @VonC 我喜欢or,我没想到。
    【解决方案2】:

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

    【讨论】:

    • 你可以这样做,但你应该从你的 heroku 帐户应用程序中删除额外的 ssh 密钥。请参阅我的解决方案和@VonC 的答案。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      如果您的旧密钥已用于另一个 Heroku 帐户,请生成密钥。

      【讨论】:

      • 那么旧的呢?如果我需要使用旧帐户呢?这仅用于 heroku 帐户身份验证。这行不通。
      【解决方案5】:

      这对我有用:

      $ heroku auth:logout
      

      然后

      $ heroku auth:login
      

      【讨论】:

      • +1 分享您的解决方案。是的,这将破坏您当前的会话,以便您可以在之后继续另一个会话。
      • 知道这很简单。
      【解决方案6】:

      在将 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 repo 名称:

      git remote rm heroku
      

      然后删除应用;

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

      然后重新创建应用程序:

      heroku create
      

      这次我使用命令推送应用时:

      git push heroku main
      

      效果很好。

      注意

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

      就是这样。

      我希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-27
        • 2015-07-19
        • 2013-09-27
        • 1970-01-01
        • 1970-01-01
        • 2012-04-23
        相关资源
        最近更新 更多