🐱
Github で鍵を使い分ける
基本は会社の Git リポジトリを使っているが、仕事と直接関わらないちょっとした検証のコードなどは個人の Github に置いておきたい
会社の Mac から個人のリポジトリにアクセスしていいかどうかは各々の会社のルールに従ってください
プライベート用の鍵をつくる
鍵の作り方
現状、会社の Mac には id_rsa と id_rsa.pub があるわけだがこれは基本的に会社用。プライベートの Github にはすでに鍵が登録されているがそれは別のプライベートの Mac 用のものなので、会社 Mac で使うための鍵のセットを新しくつくって、その公開鍵をプライベートの Github に置いておけば良いと思った
Github には公開鍵を何種類か置ける
鍵を作る
ssh-keygen -t rsa -b 4096 -C "[ プライベートの Github で使ってるメールアドレス ]"
以下でどこにどんなファイルを置くのか聞かれる。ここでちゃんとファイル名を変更しないと既存の鍵のファイルを上書きしてしまう。 /Users/[ Username ]/.ssh/id_rsa.sub
などとする
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
鍵ができたら .pub の中身をコピーして Github の公開鍵に追加
.ssh/config を書き換える
そもそも config がなかったので新規に作成
会社とプライベートで Host をそれぞれ作成してそれぞれの鍵を指定する
Host github.com # メインアカウント
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa # メインアカウント用の鍵
TCPKeepAlive yes
IdentitiesOnly yes
Host github.com.sub # サブアカウント
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa_sub # サブアカウント用の鍵
TCPKeepAlive yes
IdentitiesOnly yes
ssh 接続確認
ssh -T git@github.com # main の ssh 鍵のパスフレーズを聞かれる
ssh -T git@github.com.sub # sub の以下同じ
それぞれ "Hi [ Your name ]! You've successfully authenticated, but GitHub does not provide shell access." と返ってきたら OK
以降はこのリンクを参照・・
指定したリポジトリ以下の git の設定を書き換える
$ git config hogehoge
なコマンドで .git/config
を編集できるのだが、コマンドに --global
オプションをつけてしまうと全体を書き換えてしまう。指定したリポジトリ以下の場合は --local
を使う
$ git config --local user.name hogehoge
Discussion