我无法将代码推送到heroku。我有一个帐户,但我忘了密码。我创建了一个新帐户并试图推送它,但现在它显示了我的错误:
Your account someoneelse@gmail.com does not have access to
! SSH Key Fingerprint:
如何使用新帐户登录?我想用新帐户删除此错误消息。我已将最新的ssh密钥上传到heroku。我已经尝试了所有内容来推送heroku上的代码(基本设置),但我无法通过这个错误。
您帐户中的任何应用程序都有两个ssh密钥,您应该删除一个不在“〜/ .ssh /”文件夹中的应用程序,或者按照以下步骤操作。
以下是解决方案:
转到应用程序设置。 (例如,对于名为“rails-demo”的应用程序,请转到rails-demo设置并检查是否有两个ssh密钥)
删除系统中不再存在的密钥
或者您可以删除它们,然后使用这些命令生成新的。
-> ssh-keygen -t rsa
-> heroku keys:add
上传新的,然后在您的控制台类型中
-> heroku log-in
答案 0 :(得分:25)
你需要:
注册您的新帐户(如“Managing Multiple Heroku Accounts”中所述):
(2013年,heroku accounts:add myNewAccount
ddollar/heroku-accounts
已弃用)
将heroku/heroku-accounts
与heroku plugins:install heroku-accounts
一起使用
heroku accounts:add myNewAccount
后跟Heroku凭证(电子邮件,密码)
确保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
使用'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
效果很好。
注意:
heroku-old
,然后重新创建新应用。仅此而已。
我希望这会有所帮助