I wanted to add multiple Github accounts to the Sourcetree software and it took me some time to figure it out.
Generating a new SSH key
The first step is to generate ssh keys1,
- Open Git Bash
- Paste the text below, substituting in your GitHub email address.
ssh-keygen -t ed25519 -C "[email protected]"
If you get asked for choosing the name for keys generated, choose an appropriate name like id_numeryst
for the generated key. For the passphrase, use an appropriate passphrase or leave it empty if it does not concern you.
On Windows, on the path C:\Users\YourUsername\.ssh
, you see the generated keys.
Adding your SSH key to the ssh-agent
Next, if you are on the Windows operating system, open up Git Bash
then type the following
ssh-agent bash
ssh-add ~/.ssh/id_ed25519
id_ed25519
is the name you chose, we chose id_numeryst
in the above scenario.
Adding a new SSH key to your Github account
To add a new SSH key to your Github account2, open up ~/.ssh/id_ed25519.pub
and copy its content then
- In the “Access” section of the sidebar, click SSH and GPG keys.
- Click New SSH key or Add SSH key.
- In the “Title” field, add a descriptive label for the new key. For example, if you’re using a personal laptop, you might call this key “Personal laptop”.
- In the “Key” field, paste your public key.
- Click Add SSH key.
Setting up Github for SSH keys for Sourcetree
Open up Sourcetree, go to tools -> options, and in the general tab, go to SSH Client Configuration, click three dots (…) and browse to the Open up Sourcetree, go to tools -> options, and in the general tab, go to SSH Client Configuration, near three dots (…), if you see any path like ~/.ssh/id_ed25519
and select it.C:\Users\YourUsername\.ssh\id_numeryst
delete it then click on ok button. Then go to tools->Add SSH Key...
and go to the path C:\Users\YourUsername\.ssh\
and select the file id_ed25519
or in our case id_numeryst
. Note that you do not select ~/.ssh/id_ed25519.pub
but the one without .pub
extension. ( In our scenario, you choose whatever you named your generated keys, like id_numeryst
). For adding additional SSH keys, go to Tools -> Add SSH Key. If you want to remove all the added SSH Keys go to tools -> options, and in the general tab, go to SSH Client Configuration and remove all the add key paths near the three dots (…).
In addition, in your Github repository, make sure you have chosen the appropriate user and email address that has access to that specific repository by going to settings -> advanced and uncheck the Use global user settings
.
- https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent[↩]
- https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account[↩]