web-dev-qa-db-ja.com

同じホストで複数のgitlabアカウントに複数のsshキーを使用する方法

Gitlab Webサイトで2つのアカウントを使用したいのですが、アカウントごとに異なるSSHキーを使用します

キーを正常に生成し、~/.sshフォルダーに追加しました~/.ssh/configファイルを作成し、そのうちの1つを使用しました。~/.ssh/configファイルを編集して、2つのキーを入れ替えることもできます。

問題は次のとおりです:同時に使用したいが、すべてのチュートリアルでさまざまなホストについて取り上げた:/

実際、私の2つのアカウントは同じホストにあります

~/.ssh/configファイルを編集して、同じホストの2つのアカウントを受け入れる方法

注:私は この質問 を読みましたが、それからヘルプを得ることができません

私の2つのアカウントはusername1username2のレポURLです。 [email protected]:username1/test-project.git

現在の~/.ssh/configファイル:

Host gitlab.com-username1
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa

Host gitlab.com-username2
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/id_rsa_username2

更新1:

1)~/.ssh/configファイルで1つのキーを使用すると、すべてが完璧に機能します(ただし、使用するユーザーを変更するたびに更新するのは非常に退屈です)。

2)この行を使用するとssh -T [email protected] ssh -T [email protected]は正常に機能し、歓迎のメッセージが返されます

1)と2)から、問題は間違いなく~/.ssh/configファイル、特にHost変数にあると思います

更新2:(解決)解決は、.git/configファイルを[remote "Origin"] url = [email protected]:username1/test-project.gitから[remote "Origin"] url = [email protected]:username1/test-project.gitに編集することでした

username2についても同じようにします

17
Osama Mohamed

完全なssh設定が完了しました。まず、機能するかどうかを確認します。

ssh -T [email protected]
ssh -T [email protected]

どちらの場合も成功するはずです。そうでない場合、キーは正しくセットアップされていません。各ユーザーのキーがgitlabにあることを確認します。

動作する場合は、gitリポジトリに移動して.git/configを開きます。次のような部分があります。

[remote "Origin"]
  url = [email protected]:username1/test-project.git

それを交換してください

[remote "Origin"]
  url = [email protected]:username1/test-project.git

(または、このユーザー名を使用して接続する場合はusername1)。次に、プッシュできるようにします。

15
Jakuje

上記の正確な~/.ssh/configを使用し、gitで使用するURLを最初のユーザーは[email protected]:username1/test-project.gitに、2番目のユーザーは[email protected]:username2/test-project.gitに更新します(例:git clone [email protected]:username1/test-project.git)。

SSHはgitlab.com-username1~/.ssh/configエイリアスを検索し、適切なホスト名とSSHキーファイルを使用します。

もう1つの方法は、1人のユーザーをプッシュ/プルに使用して、この1人のユーザーに必要な権限を付与することです。

2
MrTux