'ssh with 2 accounts in gitlab doesn't work

I'm trying to add 2 ssh keys in my pc to work with 2 gitlab accounts, I created 2 pair of keys and made this "config" file:

# Compte Perso
Host gitlab.com-perso
   HostName gitlab.com
   PreferredAuthentications publickey
   IdentityFile C:\Users\<path>\.ssh\id_rsa_perso

# Compte Pro
Host gitlab.com
   HostName gitlab.com
   PreferredAuthentications publickey
   IdentityFile C:\Users\<path>\.ssh\id_rsa

When I type ssh -T [email protected] and ssh -T [email protected], it works I have the output Wlecome to Gitlab, <username>!, but when I try to clone like this git clone [email protected]:<username>/<reponame>.git

it says

Unable to open connection:
Host does not existfatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I know the repo can be cloned because I already cloned it in another pc with ssh but I don't understand why this doesn't work please help me. I have followed this to make my config file. (it's in french)



Solution 1:[1]

Quick google search search for your error message reveals that this problem may be related to "Little Snitch" software - if you use it disable and try again.

Also, on Windows machines you may need to modify windows system environment variables

GIT_SSH=C:\Program Files\Git\usr\bin\ssh.exe

as you can see in this StackOverflow thread

If none of this works, there are couple of other ideas out there. It's a good idea to try at least couple of them and collect some more verbose output so we can help you better if still needed.

Solution 2:[2]

First, you can add User git in each of your entries. That way, you can use gitlab.com-perso:<usernassh -T [email protected]>/<reponame>.git without the git@

Second, make sure ssh -T [email protected] return the right account, because if seems from your question both return the same username.

Host does not exist

Double check your host entry: gitlab.com-perso should use the right '-': you might have used a '—' (a long dash) instead of the expected double hyphen (or hyphen-minus).

Solution 3:[3]

thanks to @Lukasz Korbasiewicz and @bdecaf I added IdentitiesOnly yes in config file ~/.ssh/config and GIT_SSH=C:\Program Files\Git\usr\bin\ssh.exe in environment variables and it worked.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Lukasz Korbasiewicz
Solution 2 VonC
Solution 3 Kenyuki