Reputation: 6438
I am having trouble pushing code to Heroku. I have an account but I've forgotten the password. I created a new account and tried to push with it but now it shows me this error:
Your account [email protected] does not have access to
! SSH Key Fingerprint:
How can I log in with the new account? I'd like to remove this error message with a fresh account. I have uploaded my latest ssh key to heroku. I have tried everything to push code on heroku (basic setup), but I can't get past this error.
Any application in your account has two ssh key and you should remove one which is not in your "~/.ssh/" folder or follow these steps.
Here's the solution:
Go to www.heroku.com and login with the account that raises the error.
Go to the applications settings. (e.g. for an application named "rails-demo", go to rails-demo settings and check whether there are two ssh keys)
Remove the key which is no longer in your system
Or you can remove them both and then generate new one with these commands.
-> ssh-keygen -t rsa
-> heroku keys:add
Upload the new one and then in your console type
-> heroku log-in
Log in with your account and then push it to you app.
It's solved now.
Upvotes: 29
Views: 15959
Reputation: 28870
I had this same issue when deploying a Rails application to Heroku.
After logging in to the Heroku CLI using the command:
heroku login
and also creating the new app using the command:
heroku create
when I run the command git push heroku main
, I get the error below:
remote: ! Your account [email protected] 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
I tried several solutions but none worked for me.
Here's how I fixed it:
First I ran the command git remote -v to see the list of remote, and I got this output:
heroku https://git.heroku.com/stark-temple-39676.git (fetch)
heroku https://git.heroku.com/stark-temple-39676.git (push)
The issue was that the name of the heroku git repo stark-temple-39676
was different from the name of the app gentle-lowlands-46404
. Apparently, the heroku repo name stark-temple-39676
was for a previous app that I had earlier deployed to Heroku using another Heroku account.
All I had to do was to remove the heroku repo name:
git remote rm heroku
And then delete the app;
heroku apps:destroy --app=gentle-lowlands-46404
And then recreate the app:
heroku create
This time when I pushed the app using the command:
git push heroku main
it worked perfectly.
Note:
heroku-old
if you still need it and then recreate the new app.That's all.
I hope this helps
Upvotes: 0
Reputation: 1324033
You need to:
register your new account (as described in "Managing Multiple Heroku Accounts"):
(2013, heroku accounts:add myNewAccount
ddollar/heroku-accounts
deprecated)
Use heroku/heroku-accounts
with heroku plugins:install heroku-accounts
heroku accounts:add myNewAccount
followed by Heroku credentials (Email, password)
Make sure your ~/.ssh/config
file has an 'myNewAccount
' entry
Host heroku.myNewAccount
HostName heroku.com
IdentityFile ~/.ssh/id_heroku_myNewAccount_rsa
IdentitiesOnly yes
And then change the remote 'origin' url:
git remote set-url origin [email protected]:<appname>.git
Or, as Ian Vaughan comments below
origin
is normallyheroku
when using the 'heroku-toolbelt':
git remote set-url heroku [email protected]:<appname>.git
That last step will make sure the git push
will use your new account, and not the old one.
See more at "Multiple heroku accounts".
If you add "User git" in your config file, you can remove the credential user name 'git
':
Host heroku.myNewAccount
User git
HostName heroku.com
IdentityFile ~/.ssh/id_heroku_myNewAccount_rsa
IdentitiesOnly yes
That means you can use:
git remote set-url origin heroku.myNewAccount:<appname>.git
# or
git remote set-url heroku heroku.myNewAccount:<appname>.git
Upvotes: 26
Reputation: 37093
This worked for me:
$ heroku auth:logout
Then
$ heroku auth:login
Upvotes: 23
Reputation: 3069
If you have multiple accounts then login with the new or required one
$ heroku login
Enter your Heroku credentials.
Email: [email protected]
Password:
$ heroku keys:add
generate keys if you have old one already in use for another heroku account.
Upvotes: 1
Reputation: 43
Remove ssh key from your "homedir/.ssh" and check whether from that ssh key would not be available there.
I solved using your question after update.
Upvotes: 1
Reputation: 998
I hope this work for you. By using this gem you can manage multiple account https://github.com/ddollar/heroku-accounts
Upvotes: 2