Multiple ssh keys are not working
OS Description: Ubuntu 14.04.3 LTS ssh: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3, OpenSSL 1.0.1f 6 Jan 2014
I am unable to use multiple ssh key for gitlab. The error I am getting is
GitLab: The project you were looking for could not be found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
I am pretty much sure that I did everything right
This is my config file
Host work gitlab.com Hostname gitlab.com IdentityFile ~/.ssh/ida_rsa User git Host integrate gitlab.com Hostname gitlab.com IdentityFile ~/.ssh/ida_rsa_personal User git
The keys are added automatically in ssh-agent, but to make sure I also added the key manually
$ ssh-add -l 2048 e7:08:d6:8c:00:28:31:f9:3f:21:4a:0f:4e:1e:ee:20 id_rsa (RSA) 2048 ff:22:f6:90:2b:7c:9f:ed:45:41:df:79:06:de:fe:81 id_rsa_personal (RSA)
My ssh-agent is also running
$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-uTC6tA5HMt1x/agent.4899; export SSH_AUTH_SOCK; SSH_AGENT_PID=4900; export SSH_AGENT_PID; echo Agent pid 4900;
Permissions of ssh key
-rw------- 1 yogi yogi 1679 jun 25 15:38 id_rsa -rw------- 1 yogi yogi 1679 ago 25 10:53 id_rsa_personal -rw-r--r-- 1 yogi yogi 404 ago 25 10:53 id_rsa_personal.pub -rw-r--r-- 1 yogi yogi 391 jun 25 15:41 id_rsa.pub
I added my ssh public key on gitlab.
Could any one please tell me what I am missing ?
I noticed that out of my two ssh keys, the ssh key which is on top( id_rsa – e7:08….) works fine.
$ ssh-add -l **2048 e7:08:d6:8c:00:28:31:f9:3f:21:4a:0f:4e:1e:ee:20 id_rsa (RSA)** 2048 ff:22:f6:90:2b:7c:9f:ed:45:41:df:79:06:de:fe:81 id_rsa_personal (RSA)
If I add id_rsa_personal(ff:22..) after id_rsa, than id_rsa_personal starts working fine and id_rsa stops working.
$ ssh-add -l **2048 ff:22:f6:90:2b:7c:9f:ed:45:41:df:79:06:de:fe:81 id_rsa_personal (RSA)** 2048 e7:08:d6:8c:00:28:31:f9:3f:21:4a:0f:4e:1e:ee:20 id_rsa (RSA)
I think , ssh-agent is unable to iterate through keys. It only reads first key and stops.
Is this a bug in openssh ? If yes, any workaround ?
One Solution collect form web for “Multiple ssh keys are not working”
You need to have
# Default GitHub user Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/personalid # Work user account Host bitbucket.org HostName bitbucket.org PreferredAuthentications publickey IdentityFile ~/.ssh/workid
Details can be found in the link below
If the domain is same, use different Host
Host work.gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.work Host home.gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.home
Clear the cache
Add all ssh keys
ssh-add ~/.ssh/id_rsa.work ssh-add ~/.ssh/id_rsa.home
Also set your repos’ url in (.git/config) accordingly as given:
url = firstname.lastname@example.org:xxxxxxxxxx.git url = email@example.com:yyyyyyyyy.git
If your ssh config file is as what I suggested.