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のバグですか?はいの場合、回避策はありますか?
ありがとう
~/.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設定ファイルが私が提案したものである場合。