Github remote permission denied

GitGithub

Git Problem Overview


I'm trying to upload my repo on github and go through all the steps upto:

git push -u origin master

at that point it gives me the following error:

> remote: Permission to samrao2/manager-4.git denied to samrao1. > > fatal: unable to access 'https://github.com/samrao2/manager-4.git/';: > The requested URL returned error: 403

I think the issue is that i was logged into another Git account before "samrao1" and now i am trying to push to "samrao2".

Can someone help me reset this to where i can successfully push to "samrao2". I am assuming i will be prompted for my password the first time i try to do it.

Git Solutions


Solution 1 - Git

Unable to access https means: this has nothing to do with SSH (and switching to SSH, while possible, does not explain the original issue)

This has to do with credential caching, meaning Git will be default provide the credentials (GitHub account and password PAT Personal Access Token) of the old account while you are trying to push to the new account.


Reminder, most Git repository hosting service uses token as password, not your actual user account password.
For instance, GitHub no longer accept password since Aug. 2021.


See if you have a credential helper that would have cached your (old account) credentials (username/password) used to authentication you.

git config credential.helper 

On Mac, as commented by Arpit J, just goto/open your keychain access->search for github.com related file->and edit credentials there.

https://help.github.com/assets/images/help/setup/keychain-access.png

See "Updating credentials from the OSX Keychain"

On Windows (And, in 2021, possibly Linux or even Mac), that would be the Windows Credential Managers GCMC: Git Credential Manager.
Open the Windows Credential Store, and see if the first user is registered there: delete that entry, and you will be able to authenticate with the second user.

(Here is an example for BitBucket)

https://kwilson.io/blog/wp-content/uploads/2015/01/4-store.png


In command-line (see git credential), for a manager core credential helper:

  • Get the old password or token:

    printf "protocol=https\nhost=github.com\nusername=<me>" | \
      git credential-manager-core get
    
    # output:
    protocol=https
    host=github.com
    username=<me>
    password=<old_password_or_token>
    
  • Remove the old password:

    printf "protocol=https\nhost=github.com\nusername=<me>" | \
      git credential-manager-core erase
    

(Replace <me> by your GitHub user account name)

Solution 2 - Git

If you are using MacOS, you can

  1. go to KeyChain Access,
  2. Search for "GitHub",
  3. then when then result "github.com" pops up, change the account or password to your new account, and save.

Then you are all set!

Solution 3 - Git

I'm not sure what the issue is, but since you mentioned not knowing what having the "right keys installed" means, I'm going to assume you have not set up your computer to authenticate to your Github repository via SSH.

This guide should show you how to do that: Adding a new SSH key to your Github account

Also, I would suggesting using 'git://github.com/samrao2/manager-4.git/' for your remote URL rather than 'https://github.com/samrao2/manager-4.git/';. The latter requires you to enter a password each time, whereas the former will authenticate via SSH, which is far less irritating. You can change the remote URL in your repository to use the git protocol, instead of https, by typing:

git remote set-url origin git://github.com/samrao2/manager-4.git

from within your project directory.

Solution 4 - Git

I had a similar issue and what found out its two things you need to verify:

  1. The key chain issue that has adequately been discussed above;
  2. Git recently stopped using passwords, you need to instead generate a personal access token. NOTE THIS IS IMPORTANT and the source of the problem I had, on the creation of token ensure permission are granted to the token on Github under developer option.

Permission scope under developer option

Solution 5 - Git

Resolved this error by updating my username and credentials:

git config user.name "new name"
git config credential.username "new name"

Solution 6 - Git

  1. Multiple users generate their own ssh key, Generating a new SSH key and adding it to the ssh-agent

  2. Adding a new SSH key to your GitHub account

  3. Alice Repository, git bash:

  • git config user.name "Alice"
  • git config user.email "[email protected]"
  • eval $(ssh-agent -s),
  • ssh-add ~/.ssh/alice.private
  • ssh -T [email protected], Testing your SSH connection
  • Git other operations
  1. Bob Repository, git bash:
  • git config user.name "Bob"
  • git config user.email "[email protected]"
  • eval $(ssh-agent -s),
  • ssh-add ~/.ssh/bob.private
  • ssh -T [email protected], Testing your SSH connection
  • Git other operations

Solution 7 - Git

Appreciating VonC's answer.

To simplify and add into it, one can follow below simple steps:

  1. Remove all GitHub entries from (Windows) Credential Manager
  2. Set useHttpPath = true in Git global configuration

> git config --global credential.useHttpPath true

You can validate this by checking

> git config --global -e

This will create a different entry for each user account.

Solution 8 - Git

Here 403 (error) means credentials errors or that you don’t have permission to push.

Solution

For Windows

click on window button > credential manager > Windows credentials > Generic credentials

Next, remove or edit the Github keys.

For Mac 

1-In Finder, search for the Keychain Access app.

2In Keychain Access, search for github.com.

3-Find the "internet password" entry for github.com.

4-Edit or delete the entry accordingly.

Solution 9 - Git

The problem is you are trying to push into new github account using old github account's ssh key, so generate a new SSH key for the new github account using this link https://help.github.com/en/github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo and then add it your github account. After this try to push, it works

Solution 10 - Git

I have one personal account and one business account at Github. I commit and push changes to both accounts at the same time.

What I did was 1) to run personal and business projects at separate sessions; 2) to set the URL for one account with an SSH link, and leave the URL as normal (HTTPS) for another account.

Solution 11 - Git

You can solve this issue by revoking the access of 2nd account "samrao1" from that specific repo that you have previously connected.

Solution 12 - Git

just go to Control Panel\User Accounts\Credential Manager\Edit Generic Credential

enter image description here

and update your git Credential

Solution 13 - Git

if you are still having problems with the same, uninstall git and re-install again. That worked for me . thanks

Solution 14 - Git

Check your personal access token. Edit the scopes in your token. I checked all the access options in the token. Doing this, the error did not come. https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Solution 15 - Git

ONLY IF you've used git cli BEFORE on your machine

Then simply open the credential manager on your system by pressing start button and type "Credential Manager" and switch to the "Windows Credentials" tab.

Delete the existing saved account associated with https://github.com like following:enter image description here

Now try pushing code again, this time an authentication prompt will be popped up, authenticate your github account and congratulations, your code is hosted onto the given branch of desired repository.

Solution 16 - Git

I faced same problem and then removed the git credential from windows credential manager

Solution 17 - Git

I was facing the same issue I have resolved using below command

git config --global credential.useHttpPath true

Solution 18 - Git

Removing the .git folder from the project directory, and then again pushing them from the beginning worked for me.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSam RaoView Question on Stackoverflow
Solution 1 - GitVonCView Answer on Stackoverflow
Solution 2 - GitNovusView Answer on Stackoverflow
Solution 3 - GitClintonView Answer on Stackoverflow
Solution 4 - GitTeddyView Answer on Stackoverflow
Solution 5 - GitcodingCartooningCPAView Answer on Stackoverflow
Solution 6 - Git山茶树和葡萄树View Answer on Stackoverflow
Solution 7 - GitMaulik Pipaliya JoyyView Answer on Stackoverflow
Solution 8 - GitPavan TanniruView Answer on Stackoverflow
Solution 9 - GitPanyam Praneeth Reddy View Answer on Stackoverflow
Solution 10 - GitpinawaView Answer on Stackoverflow
Solution 11 - GitDhruvilView Answer on Stackoverflow
Solution 12 - GitSourabh GeraView Answer on Stackoverflow
Solution 13 - Gituser17432451View Answer on Stackoverflow
Solution 14 - GitAnupreet KaurView Answer on Stackoverflow
Solution 15 - GitShoaib KhalilView Answer on Stackoverflow
Solution 16 - GitXavion AshikView Answer on Stackoverflow
Solution 17 - Gitmuhmmad bhooralView Answer on Stackoverflow
Solution 18 - GitimjoymhntView Answer on Stackoverflow