Post

[Github] ローカルにGithubアカウントを複数管理する

  1. サブのssh鍵を生成する
  • まず、 ssh-keygenを使ってサブの鍵を生成します。

cd ~/.ssh

何回か聞かれますが、何も入力しなくて大丈夫です。

1
2
3
4
5
ssh-keygen -t ecdsa -C test@test.com -f is_test_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in is_test_rsa
  • 生成されているかを確認します。

ls

リストで自分が作成したものがあるかを確認します。

  • 次に、/.ssh/configファイルで設定を追加します。

vim config (vim以外でも使い慣れてるもので大丈夫です)

以下の記述に従って、追加します。

1
2
3
4
5
6
Host {Host name}.github.com 
  HostName github.com
  IdentityFile ~/.ssh/{鍵名} 
  User git
  TCPKeepAlive yes
  IdentitiesOnly yes
  • これは僕の例です。 ``` Host {Host name}.github.com

HostName github.com

IdentityFile ~/.ssh/is_test_rsa

User git

TCPKeepAlive yes

IdentitiesOnly yes ``` -公開鍵をコピーします。

pbcopy < ~/.ssh/{鍵名}

  1. 設定に入ります。

  2. SSH and GPG Keysをクリックします。

  3. New SSH Keyを押下します。

  4. ここで、Titleはなんでも良くて、Keyに先のコピーしたやつをペーストし、追加をします。(Key Typeはそのままで大丈夫)

  5. SSO設定がある場合のみ Configure SSO を押します。認証していなければ認証のボタンがあります。押下し、SSO認証をすると以下のように変わります。

  6. 接続テスト

ssh -T {Host name}.github.com

実行したら

Hi test! You've successfully authenticated, but GitHub does not provide shell access. こんな感じで出ます。

  1. Cloneの仕方

複数のアカウントで設定をしたのでCloneの仕方が若干異なります。

一般的にSSHでクローンをするときは

git clone git@github.com:test/test.git をそのまま git cloneすると思います。

しかし、サブのアカウントで認証したいので、以下のように変更する必要があります。

git clone git@{Host name}:test/test.git

僕の例です。

git clone git@{test}.github.com:test/test.git

これで、Clone できます。

1
2
3
4
5
6
7
8
git clone git@{test}.github.com:test/test.git
Cloning into 'test'...
remote: Enumerating objects: 464, done.
remote: Counting objects: 100% (464/464), done.
remote: Compressing objects: 100% (235/235), done.
remote: Total 464 (delta 192), reused 464 (delta 192), pack-reused 0
Receiving objects: 100% (464/464), 439.01 KiB | 740.00 KiB/s, done.
Resolving deltas: 100% (192/192), done.
  1. 独自のプロファイルを登録

グローバルのid以外に会社ブランチでの独自(Local)のプロファイルを設定します。Cloneしたレポジトリに入って設定します。

git config --local user.name "test"

git config --local user.email "test@test.com"

これで独自のプロフィールで作業できます。

[追記]

ideなどを使用する場合にはideのRemote Serverに git@{Host name}.github.com の感じで設定を変える必要があります。

This post is licensed under CC BY 4.0 by the author.