Reputation: 325
Every time I'm trying to clone a private repo I get the prompt to add my username and password.
I looked around to see what's wrong, because I added my password and didn't work, and found out that I have to use the Personal Access Token. Now every time I'm trying to clone a private repo I have to add that (or generate another) token.
Is there a way to clone a private git repo without the token? Or at least to be able to add my password instead of that token?
Upvotes: 16
Views: 33589
Reputation: 325
SOLUTION
This is how I managed to make it work.
Opened a new terminal and add
ssh-keygen -t rsa -b 4096 -C "[github email address]"
The following showed in the terminal
Generating public/private rsa key pair. [press Enter]
Enter file in which to save the key (/home/${USER}/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): [press Enter]
Enter same passphrase again: [press Enter]
Then
cd /.ssh
ls [you should see 3 files]
cat [file].pub
Copy the content then go to your Github profile settings -> SSH and GPG keys -> New SSH key -> paste the content from [file].pub there. After doing this I can clone the github repo with SSH without the need to add the token.
Upvotes: 2
Reputation: 626
You can use the git credentials storage for storing your username and passwords while accessing the repository over https.
Run
git config credential.helper store
and then
git pull
This will ask your username and passwords and then remember it for future use. Please note running above commands will create a file at ~/.git-credentials
and store the credentials in plain text which can be a security risk.
An alternative is to store the credentials in memory rather than the disk. To do this you can run the below command.
git config credential.helper 'cache --timeout=3600'
This way git will not any files on disk and use the memory for storing the credentials. the timeout
argument here is used to specify that the credentials should be cached for next 1 hour.
Upvotes: 36
Reputation: 1868
You can clone using SSH, and authenticate using your SSH key. There is a nice guide from GitHub on how to set up git with SSH, and it works very similarly for other providers. After you set it up, don't forget to clone the repo using the SSH URL (not the HTTPS one), or to change the origin
of your cloned repo to the SSH URL.
Upvotes: 1