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にすでにあるリポジトリの変更

すでにリポジトリがある場合は、リポジトリを開き右側にある設定アイコンから設定を開き、「リモート」タブを開くとパスを変更できます。

About the author

大阪でフロントエンドエンジニアをしています。写真を撮るのが趣味です。よかったら500pxに載せてる写真も見てください。
web上に公開しているので、正確さに可能な限り努力してますが、個人の備忘録程度に書いてるので、ご自身の判断で参考程度に読んでください。
間違いやご意見があれば、コンタクトやSNSに気軽にご連絡ください。

Read next

Category

  • web
  • 雑記