I want to use 2 accounts in Gitlab website, every account with a different ssh key
I generated the keys successfully and add them in ~/.ssh
folder
I created ~/.ssh/config
file and use one of them , it's works good
I can also make swapping between the two keys by editing the ~/.ssh/config
file
The problem is : I want to use them in the same time , but all the tutorials i found taking about different hosts :/
actually my two accounts are in the same host
how can i edit the ~/.ssh/config
file to accept two accounts for the same host
Note: I read this question but i can't get help from it
My two accounts are username1
and username2
repo URL looks like : [email protected]:username1/test-project.git
My current ~/.ssh/config
file:
Host gitlab.com-username1
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa
Host gitlab.com-username2
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_username2
Update 1:
1) When I use one key in the ~/.ssh/config
file , everything works perfect (but it's very boring to update it every time i want to change the user i use)
2) When i use this lines
ssh -T [email protected]
ssh -T [email protected]
its works good and return a welcoming message
From 1) and 2) , i think the problem is definitely from the ~/.ssh/config
file , specifically in Host
variable
Update 2: (the solving)
the solving was to edit the .git/config
file from
[remote "origin"]
url = [email protected]:username1/test-project.git
to
[remote "origin"]
url = [email protected]:username1/test-project.git
and do the same for the username2
The problem with multiple GitLab accounts is that you can't use one SSH key on both of them. For example, you have a personal email address associated with one GitLab account, and business email with another. This is a great way to distinguish personal work from business, but it also comes with some challenges.
Sometimes you need more accounts than one for access to Github or Gitlab and similar tools. For example you can have one account for your projects at home and second account for your company.
You'll need to create an additional SSH key for each extra Bitbucket account you have or each computer you use. For example, if you have four Bitbucket accounts, you need to generate 3 new SSH keys, meaning you'll have 4 keys in all.
You have got complete ssh
configuration. First of all, check if it works:
ssh -T [email protected]
ssh -T [email protected]
should succeed in both cases. If not, the keys are not set up correctly. Verify that the keys are on gitlab for respective users.
If it works, move on to your git repository and open .git/config
. It will have some part like:
[remote "origin"]
url = [email protected]:username1/test-project.git
Replace it with
[remote "origin"]
url = [email protected]:username1/test-project.git
(or username1
if you want to connect using this username). Then it should allow you to push.
Use the exact ~/.ssh/config
from above and update the URLs you use with git to [email protected]:username1/test-project.git
for the first user and [email protected]:username2/test-project.git
for the second one (e.g., git clone [email protected]:username1/test-project.git
).
SSH will look up the gitlab.com-username1
alias in ~/.ssh/config
and will use the right host name and SSH key file.
Another way would be to just use one user for pushing/pulling and grant the required rights to this one user.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With