1. ホーム
  2. git

複数のgithubアカウントを設定するためのsshキー

2022-02-16 15:48:14
<パス

記事目次

同じコンピュータの同じssh共通鍵を、複数のgithubアカウントに設定することはできません。例えば、会社のパソコンのssh公開鍵を会社のgithubアカウントに設定した後、同じ公開鍵で個人のgithubアカウントに設定することはできません。このとき、複数のssh鍵を生成して、それぞれ別のgithubアカウントに設定する必要があります

I 新しいsshキーを生成する

ssh-keygen -t rsa -f "new_name"

-f

vim config 新しく生成される鍵の名前をカスタマイズします。そうしないと、デフォルトの鍵である id_rsa と id_rsa.pub が生成され、既存のデフォルトの鍵が上書きされます。
生成された鍵ファイルは以下のようなものです。

II 新しい公開鍵をgithubのアカウントにコピーします。

このステップでは、個人のgiuhubアカウントにログインし、新しく生成された公開鍵をguthubに設定するだけです。

III ~/.ssh/config ファイルを設定します。

設定ファイルがない場合は、~/.ssh ディレクトリに設定ファイルを作成し、ssh 秘密鍵のためのサーバーの設定に使用します。

# key1 Company github account
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id-rsa

# key2 my personal guthub account, xxx.github.com. me is custom
Host me.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/littlerpl.git

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


以下は、コンフィグの詳細設定です。

Permission denied (publickey)


IV github サーバーへの ssh 接続のテスト

ssh-add -l


以下の画像は、設定が成功したことを示しており、ここで終了となります。

以下のような場合。

The agent has no identities.

最初にsshのパーミッションを確認する必要があります

1. システムのssh-keyプロキシを確認し、以下のコマンドを実行します。
ssh-add -D

ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/littlerpl.git 


上記のコマンドの出力が me.github.com は、エージェントが存在しないことを意味します。

システムにエージェントが存在する場合は、以下のコマンドでクリアできます。

[email protected]


2. 次に、以下のようにコマンドを実行し、異なるsshプロキシを順番に追加していきます。
git clone [email protected]:账户名/仓库  
git remote add test [email protected]/test.git Adding a remote repository


littlerpl.gitは個人鍵ファイルで、後でsshを再度テストするために使用します。


Vに関する注意事項

手順3の設定完了後、デフォルトアカウント以外のgithubリポジトリに接続する場合、リモートアドレスを適宜変更する必要があります。
設定方法 me.github.com 個人用の git では git@github を使用することはできません。

[email protected]


git clone [email protected]:账户名/仓库  
git remote add test [email protected]/test.git Adding a remote repository