Несколько ключей ssh ​​не работают

OS Description: Ubuntu 14.04.3 LTS ssh: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3, OpenSSL 1.0.1f 6 Jan 2014 

Я не могу использовать несколько ключей ssh ​​для gitlab. Ошибка, которую я получаю

 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. 

Я почти уверен, что все сделал правильно Это мой файл конфигурации

 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 

Ключи автоматически добавляются в ssh-agent, но чтобы я также добавил ключ вручную

 $ 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) 

Мой ssh-агент также работает

 $ 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; 

Разрешения 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 

Я добавил свой открытый ключ ssh в gitlab.

Может ли кто-нибудь рассказать мне, что мне не хватает?

Примечание. – Я заметил, что из двух моих ключей ssh ​​ключ ssh, который находится сверху (id_rsa – e7: 08 ….), отлично работает.

 $ 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) 

Если я добавлю id_rsa_personal (ff: 22 ..) после id_rsa, то id_rsa_personal начнет нормально работать, а id_rsa перестанет работать.

 $ 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) 

Я думаю, ssh-agent не может перебирать ключи. Он только считывает первый ключ и останавливается. Это ошибка в openssh? Если да, то обходной путь?

благодаря

У вас должен быть файл ~/.ssh/config

Внутренний файл

 # 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 

Подробности можно найти по ссылке https://confluence.atlassian.com/bitbucket/configure-multiple-ssh-identities-for-gitbash-mac-osx-linux-271943168.html

Если домен тот же, используйте другой 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 

Очистить кеш

 ssh-add -D 

Добавить все ключи ssh

 ssh-add ~/.ssh/id_rsa.work ssh-add ~/.ssh/id_rsa.home 

Также установите соответствующий URL-адрес репозитория (.git / config) соответственно:

 url = git@work.gitlab.com:xxxxxxxxxx.git url = git@home.gitlab.com:yyyyyyyyy.git 

Если ваш конфигурационный файл ssh является тем, что я предложил.