web
SourceTreeで複数のGitHubアカウントを設定しSSH接続する
公開日:2022年3月13日
最終更新日:2022年3月13日
一つのPCで仕事用のアカウントや個人のアカウントを使う時に、SourceTreeで複数のアカウントをSSH接続する方法です。
複数のキーを作る
SourceTreeでSSH接続する方法はこちらを見てください。
SourcetreeのSSH keyを生成する機能を使ってGitHubにssh接続する
上のリンク先の方法で、2つのGitHubアカウントの秘密鍵と公開鍵を作ります。
2つ作ると .ssh
ディレクトリ以下は以下ファイルがつくられます(鍵の名前は分かりやすくしてます)
config
work-GitHub
work-GitHub.pub
private-GitHub
private-GitHub.pub
known_hosts
キーをそれぞれ登録
上記URLのSSH接続方法の記事に書いてある通り、キーをGItHubに登録します。
GitHubでキーを登録
SSH接続
SourceTreeでキーを生成すると自動でconfigを作ってくれてます。中身はこんな感じだと思います。
# --- Sourcetree Generated ---
Host work-GitHub
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile /Users/username/.ssh/work-GitHub
UseKeychain yes
AddKeysToAgent yes
# ----------------------------
# --- Sourcetree Generated ---
Host private-GitHub
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile /Users/username/.ssh/private-GitHub
UseKeychain yes
AddKeysToAgent yes
# ----------------------------
コマンドでそれぞれssh接続します
ssh -T git@work-GitHub
ssh -T git@private-GitHub
以下が表示されればOKです。
Hi {account名}! You've successfully authenticated, but GitHub does not provide shell access.
アカウント名がどちらも同じ場合
おそらく最初に接続したアカウント名が表示され続けると思いますが、特に問題ないです。
主となるアカウントを切り替えたい場合は、一旦sshの登録を削除してから、再度ssh接続します。
ssh-add -D
ssh -T git@work-GitHub
ssh -T git@private-GitHub
GitHubからクローン
通常クローンするソースURLの一部を変更してクローンします。
上記の手順で主となるアカウントの場合は、変更しなくてもクローンできます。
// 変更前
git@github.com:mismith0227/mismith.me.git
// 変更後
git@private-GitHub:mismith0227/mismith.me.git
SourceTreeにすでにあるリポジトリの変更
すでにリポジトリがある場合は、リポジトリを開き右側にある設定アイコンから設定を開き、「リモート」タブを開くとパスを変更できます。
Read next
- 2022年2月13日SourcetreeのSSH keyを生成する機能を使ってGitHubにssh接続する
- 2022年2月2日Node.jsのバージョン管理をnodebrewからnに移行する
- 2022年1月21日軽量でアクセシビリティに配慮されたMicromodal.jsを使う