Wanna use another GitHub account in my windows pc but wait I already got my personal account added in git.
No problem here you can see how you can manage multiple accounts without any hassle:
Note: This DIY is meant for windows users.
Contents
*Set up SSH Keys.
*Add the keys to your Github accounts:
*Create a configuration file to manage the separate keys
*Update stored identities
*Test PUSH
*Test PULL
Set up SSH Keys
So let's consider your two GitHub accounts are named githubPersonal and githubWork, respectively.
Create two SSH keys, saving each to a separate file:
Execute the below mentioned commands in gitbash
$ cd ~/.ssh
$ ssh-keygen -t rsa -C "your_email_id_associated_with_githubPersonal_account
save it as id_rsa_personal
when prompted (you can rename personal)
$ Enter passphrase (empty for no passphrase):
skip this by pressing enter
$ Enter same passphrase again:
skip this by pressing enter
$ ssh-keygen -t rsa -C "your_email_id_associated_with_githubWork_account"
save it as id_rsa_work
when prompted (you can rename personal)
$ Enter passphrase (empty for no passphrase):
skip this by pressing enter
$ Enter same passphrase again:
skip this by pressing enter
The above commands setup the following files:
id_rsa_personal
id_rsa_personal.pub
id_rsa_work
id_rsa_work.pub
Add the keys to your Github accounts:
Copy the key to your clipboard by opening the file in vs code:
$ code . id_rsa_personal.pub
Add the key to your account:
Go to your GitHub Account Settings
Click “SSH Keys” then “Add SSH key”
Paste your key into the “Key” field and add a relevant title
Click “Add key” then enter your GitHub password to confirm.
Repeat the process for your githubWork account.
Create a configuration file
Create a configuration file to manage the separate keys in ~/.ssh/ using
$ touch config
Edit the file using the text editor of your choice. I used vs code -
$ code . config
# githubPersonal
Host personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
# githubWork
Host work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
Update stored identities
initialize the ssh-agent (use powershell)
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Clear currently stored identities:
$ ssh-add -D
Add new keys:
$ ssh-add id_rsa_personal
$ ssh-add id_rsa_work
Test to make sure new keys are stored:
$ ssh-add -l
Test to make sure Github recognizes the keys:
$ ssh -T personal
Hi githubPersonal! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T work
Hi githubWork! You've successfully authenticated, but GitHub does not provide shell access.
Test PUSH
On Github, create a new repo in your personal account, githubPersonal, called test-personal.
Back on your local machine, create a test directory:
$ cd ~/documents
$ mkdir test-personal
$ cd test-personal
Add a blank “readme.md” file and PUSH to Github:
$ touch readme.md
$ git init
$ git add .
$ git commit -am "first commit"
$ git remote add origin git@personal:githubPersonal/test-personal.git
$ git push origin master
Notice how we’re using the custom account, git@personal, instead of git@github.com.
Repeat the process for your githubWork account.
Top comments (9)
After I finished adding my personal account and start adding the work account
I get the following message
git@github.com: Permission denied (public key)
Do I need to switch between the accounts somehow? I think it's still trying to use the personal account for cloning the test-work repo
Also the ssh-agent has to be setup or started manually everytime from now?
Found a solution to the issue:
freecodecamp.org/news/manage-multi...
Hi there! Newbie here. I'm running into an error that won't allow me to push onto my Github repo. My terminal did not stop me when I ran this:
$ git remote add origin git@personal:github.com/personal/test-personal.git
So when I ran this:
git push origin master
I get this error:
fatal: protocol 'git@personal:https' is not supported
Can anybody show me how to fix this? I haven't been able to find anything on google that could help. Should I just delete the repo and start over? My ssh has already been authenticated.
You forget config your name and email, right?
well, I haven't used my credentials in the post as it's a generic one instead I have mentioned the place where you need to put your credentials.
Great, it works like a charm! Thanks so much!
After a lot of hassle, I finally got it working. Thanks, man! :)
Error connecting to agent: No such file or directory
I am getting this error after running ssh-add -D
Future readers, just remember to run powershell as administrator to avoid conflicts.