Gitlab Webサイトで2つのアカウントを使用したいのですが、アカウントごとに異なるSSHキーを使用します
キーを正常に生成し、~/.ssh
フォルダーに追加しました~/.ssh/config
ファイルを作成し、そのうちの1つを使用しました。~/.ssh/config
ファイルを編集して、2つのキーを入れ替えることもできます。
問題は次のとおりです:同時に使用したいが、すべてのチュートリアルでさまざまなホストについて取り上げた:/
実際、私の2つのアカウントは同じホストにあります
~/.ssh/config
ファイルを編集して、同じホストの2つのアカウントを受け入れる方法
注:私は この質問 を読みましたが、それからヘルプを得ることができません
私の2つのアカウントはusername1
とusername2
のレポ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
についても同じようにします
完全な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
)。次に、プッシュできるようにします。
上記の正確な~/.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人のユーザーに必要な権限を付与することです。