'Git error: "Please make sure you have the correct access rights and the repository exists"
I am using TortoiseGit on Windows. When I am trying to Clone from the context menu of the standard Windows Explorer, I get this error:
Please make sure you have the correct access rights and the repository exists
More precisely, the snapshot of terminal is the following:
git.exe clone --progress -v "git@arobotdev:\git\AlfaRobot.git" "C:\Work\AlfaRobot"
Cloning into 'C:\Work\AlfaRobot'...
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git did not exit cleanly (exit code 128) (21450 ms @ 19.09.2014 10:36:58)
What should I do to make git work properly ?
Solution 1:[1]
Your git URL might have changed. Change the URL in the local directory by using the following command
for https protocol
git remote set-url origin https://github.com/username/repository.git
for ssh protocol
git remote set-url origin [email protected]:username/repository.git
there might be multiple causes for the issue
- If the issue is with your ssh identity, go through @onkar-m18 answer here
- If ssh key is not added to hosting server, go through @lovekush-vishwakarma answer here
Solution 2:[2]
That problem might be having with your ssh-agent, your ssh key hasn't been added with ssh-agent.You have to apply following steps using your terminal:-
$ eval "$(ssh-agent -s)"
Agent pid 5867
$ ssh-add <private-ssh-key-file-name>
// eg. id_rsa (not.pub
)Enter passphrase for /home/you/.ssh/id_rsa: [] Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
then it will work..cheers J.
Solution 3:[3]
Try to use HTTPS instead SSH while taking clone from GIT, use this Url for take clone , you can use Gitbase, Android Studio or any other tool for clone the branch.
Solution 4:[4]
For me it was because of no SSH key on the machine. Check the SSH key locally:
$ cat ~/.ssh/id_rsa.pub
This is your SSH key. Add it to your SSH keys in the repository.
In gitlab go to
profile settings -> SSH Keys
and add the key
Solution 5:[5]
If it was working before and suddenly stopped working:
This issue can be caused because sometimes ssh-agent
is not persistent across reboots. You should check if ssh-agent
has your key added:
ssh-add -l -E md5
if you get the output like:
The agent has no identities.
it means ssh-agent
has lost your key. In that case, you simply need to add the identity key again. Something like:
ssh-add ~/.ssh/git_rsa
The error should disappear now!
Solution 6:[6]
Github now uses a url scheme
git remote set-url origin https://github.com/username/repository.git
Solution 7:[7]
If you're on a shared machine, using your own password or passwordless private key might be overkill. The safer option is an access token:
- Go to Settings, Developer Settings, Personal access tokens
- Generate new token.
- Note what the token is for.
- Grant repo access.
- Clone the repo:
$ git clone https://<token>@github.com/<user>/<repo>.git
If you've already cloned the repo, you could just modify your remote setting:
$ git remote set-url origin https://<token>@github.com/<user>/<repo>.git
$ git pull
Already up to date.
Solution 8:[8]
You are trying to clone the repository over ssh: git@arobotdev...
, and your SSH keys are not properly set on server. There are multiple reasons to this:
- Your public key might not be saved in authorized_keys file of user git
- If 1 is not true the Your private key is not saved in .ssh/ folder of your HOMEDIR.
- Permissions are not properly set
If all 3 above are untrue then my only conclusion can be to try:
git@arobotdev:AlfaRobot.git
Assuming AlfaRobot.git is in HOMEDIR of git user and not inside a folder called git which resides in HOMEDIR of user git.
Solution 9:[9]
- run below command
open ~/.ssh
then manual delete "known_hosts" file
- run below command, generate new ssh-key
ssh-keygen -t rsa -C "[email protected]"
then tow files : id_rsa and id_rsa.pub will generate in .ssh directory, copy the content in id_rsa.pub
login github --> setting --> SSH and GPC keys --> add SSH keys --> paste the copied content in key
run below command
ssh -T [email protected]
Ok, it works
Solution 10:[10]
I had this problem, and i discover that my system was with wrong dns address. Verify your network and test with
ssh -vvv [email protected]
And read the output messages. If you see "You can use git or hg to connect to Bitbucket." , everything is ok.
Solution 11:[11]
I'm using Ubuntu
after reading many of answers, none of them can solve the problem, even if I already added SSH key to my git account, and try test it using ssh -T [email protected]
and it said Welcome <my username>
, but it still kept telling me that I don't have access rights. Then I found the reason:
Normally if you're not root
user, it will require you to run with sudo
for every git command.
when running sudo git clone <SSH....>
(for example). it will be executed under root
permission, but accidentally when create SSH key I run it as normal user and I save the key in ~/.ssh/id_rsa
, it resolves the absolute path /home/username/.ssh/id_rsa
. And when doing sudo git clone ...
it looks for SSH key in /root/.ssh/id_rsa
Why I can sure about this. To see where git looks for your SSH key. Run this command: sudo GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone <your repository in SSH>
. It will show you where it looks for your SSH key.
So the SOLUTION I suggest is:
Re-creating your SSH key (follow this instruction), BUT run sudo su
at the very first step, then you'll should be fine.
Solution 12:[12]
The first thing you may want to confirm is the internet connection. Though, internet issues mostly will say that the repo cannot be accessed.
Ensure you have set up ssh both locally and on your github. See how
Ensure you are using the ssh git remote. If you had cloned the https, just set the url to the ssh url, with this git command
git remote set-url origin [email protected]:your-username/your-repo-name.git
If you have set up ssh properly but it just stopped working, do the following:
eval "$(ssh-agent -s)"
ssh-add
If you are still having the issue, check to ensure that you have not deleted the ssh from your github. In a case where the ssh has been deleted from github, you can add it back. Use
pbcopy < ~/.ssh/id_rsa.pub
to copy the ssh key and then go to your github ssh setting and add it.
I will recommend you always use ssh. For most teams I've worked with, you can't access the repo (which are mostly private) except you use ssh. For a beginner, it may appear to be harder but later you'll find it quite easier and more secured.
Solution 13:[13]
The rsa.pub (i.e. public key generated), needs to be added on the github>> settings>>ssh keys page. Check that, you have not added this public key in the repository-settings >> deployment keys. If so, remove the entry from here and add to the first place mentioned.
Setup of the pub-private keys in detail.
It will work hence!
Solution 14:[14]
add these lines to your .get/config
file (thanks to @kovshenin answer Git Pull: Change Authentication) :
[credential]
helper = wincred
Solution 15:[15]
I come across this error while uploading project to gitlab. I didn't clone from git but instead upload project. For pushing your code to gitlab you have two ways either using ssh or https. If you use https you have to enter username and password of gitlab account. For pushing you code to git you can use following one.
Pushing to Git for the first time
>$ cd
>$ mkdir .ssh;cd .ssh
>$ ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
The -C parameter is optional, it provides a comment at the end of your key to distinguish it from others if you have multiple. This will create id_rsa (your private key) and id_rsa.pub (your public key). We pass our public key around and keep our private key?—?well, private. Gitlab’s User Settings is where you would then add your public key to your account, allowing us to finally push.
In your project location(Directory) use below command
git init
It Transform the current directory into a Git repository. This adds a .git subdirectory to the current directory and makes it possible to start recording revisions of the project.
Push Using https path
git push --set-upstream https://gitlab.com/Account_User_Name/Your_Project_Name.git master
Push Using ssh path
git push --set-upstream [email protected]:Account_User_Name/Your_project_Name.git master
— set-upstream: tells git the path to origin. If Git has previously pushed on your current branch, it will remember where origin is
master: this is the name of the branch I want to push to when initializing
Solution 16:[16]
Here is how I solve this issue. I was using Babun(mintty.exe) on Win7/10. When I have tried many solutions mentioned above, and none of them works. I realized maybe I just used wrong ssh agent...
So I run echo $GIT_SSH
to find out, it shows the path to Plink.exe
.
What I actually expected is OpenSSH.
So, I add following one-liner to ~/.zshrc
file
Note 1: You can execute it in babun directly also
Note 2: You if you use bash then the config file is.bashrc
export GIT_SSH=$(which ssh)
And It works!
Solution 17:[17]
Try https instead of ssh. Choose the https option from project home page where you copy the clone url from.
Solution 18:[18]
This can also happen if you are connecting to your git repository through a VPN. Make sure that you are connected to the VPN which is used to access the resources of your organization.
Solution 19:[19]
You can follow below steps -
Check for existing keys- a. ls -al ~/.ssh
Create key if does not exist- Paste the text below, substituting in your GitHub email address. a. ssh-keygen -t ed25519 -C "[email protected]" b. When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location. c. At the prompt, type a secure passphrase.
Adding your SSH key to the ssh-agent- Fire up the SSH agent and add the key
eval
ssh-agent -s
ssh-add ~/.ssh/id_ed25519
Adding key to Git account- Pull up the key and add to Github account
cat ~/.ssh/id_ed25519.pub
Navigate to Git account and add SSH key
Solution 20:[20]
use your https origin instead of ssh url
example:
git remote add origin https://gitlab.com/user/folder.git
Solution 21:[21]
For me i was having issue with company VPN, after disconnecting working fine.
Check connection with github using command ssh -vvvT [email protected]
Solution 22:[22]
Similar issue:
I gave passphrase
when Git-cloned using SSH URL
for git.
So this error now shows up, each time I opened VS Code
on Windows 10
Below fixed the issue:
1 . Run the below command in CMD
setx SSH_ASKPASS "C:\Program Files\Git\mingw64\libexec\git-core\git-gui--askpass"
setx DISPLAY needs-to-be-defined
2 . Exit CMD & VS Code
3 . Reopen VS Code
4 . VS Code now shows a popup dialog where we can enter passpharse
Above commands are for Windows OS, similar instructions will work for Linux/MAC.
Solution 23:[23]
I just followed this explanation here
I tried eval and it works.
Then I tried ssh -T [email protected]
Then I clone again. Now everything runs smooth
Solution 24:[24]
Strangely I only received this error in 1 of my many repos.
My issue was after installing the new GitHub Desktop for Windows where the previous old GitHub for Win kept keys in ~/.ssh/github_rsa
and ~/.ssh/github_rsa.pub
where as the new GitHub for Win expects it in ~/.ssh/id_rsa
so the solution was just renaming the existing private and public keys:
~/.ssh/github_rsa -> ~/.ssh/id_rsa
~/.ssh/github_rsa.pub -> ~/.ssh/id_rsa.pub
After which let me access the repo again without issue.
Solution 25:[25]
Very common mistake was done by me. I copied using clip command xclip -sel clip < ~/.ssh/id_rsa.pub
, but during pasting into github key input box, I removed last newline using backspace, which actually changed the public key.
So, always copy & paste ssh public key as it is without removing last newline.
Solution 26:[26]
My case: I use Windows and I have more than 1 user account. I was receiving the same error and the fix was to start the git bash with administrator rights.
Solution 27:[27]
If using ubuntu/linux try this:-
git config --global --unset credential.helper
Now Generate a Personal Access Token from Github Account by following below steps:-
>>GITHUB ACCOUNT
>> Developer setting
>> Personal Access Token
>>Genrate new one with all acess & use it as your password !!
Window user watch below link:-
Solution 28:[28]
For me it gave the same error of:
Please make sure you have the correct access rights and the repository exists.
A quick fix was to eliminate the ~/.ssh/config file
mv config config_old && touch config
eval "$(ssh-agent -s)"
git clone your_repo
As it turned out to be the config file that was corrupt and configured with two ids
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow