web-dev-qa-db-ja.com

複数のsshキーが機能していません

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

Gitlabに複数のsshキーを使用できません。私が得ているエラーは

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-agentも実行されています

$ 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キーの権限

-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

Gitlabにssh公開鍵を追加しました。

誰かが私が欠けているものを教えてもらえますか?

注:-2つの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の後にid_rsa_personal(ff:22 ..)を追加すると、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のバグですか?はいの場合、回避策はありますか?

ありがとう

10
Yogesh Yadav

~/.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 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 = [email protected]:xxxxxxxxxx.git
url = [email protected]:yyyyyyyyy.git 

Ssh設定ファイルが私が提案したものである場合。

10
Zangetsu