⛳
SSHを利用してGitHubとSourcetreeを連携する
はじめに
2021年8月13日をもってGitHubではパスワード認証が廃止されました。伴い、SourcetreeからのPush等ができなくなり、また、自分の場合はOAuth認証もできなくなったので自身の備忘録も兼ねて残します。
実行環境
- MacOS Sonoma v14.6.1
- Sourcetree v4.2.8
事前準備
- Personal Access Tokenの生成
- 公式を参考に生成
公開鍵と秘密鍵の生成
鍵情報は~/.ssh
ディレクトリに作成します。.sshディレクトリが存在しない場合は作成します。
$ mkdir ~/.ssh # .sshディレクトリが存在しない場合
$ cd ~/.ssh # ~/.sshディレクトリに移動
$ ssh-keygen -t rsa -f hoge
ssh-keygenコマンドを実行すると、パスワード設定について問われます。パスワードを設定しない場合はそのままEnterでOKです。
Enter passphrase (empty for no passphrase): # パスワードを設定
Enter same passphrase again: # パスワード再入力
コマンドを実行したら、ls
コマンドを実行してhoge
ファイルとhoge.pub
ファイルが生成されていることを確認します。
鍵情報のconfig設定
~/.ssh
ディレクトリにconfig
ファイルを作成して、先ほど生成した秘密鍵の情報を登録します。
$ touch config # configファイルが存在しない場合
$ vi config
登録する内容は下記です。
Host hoge
HostName github.com
IdentityFile ~/.ssh/hoge
User git
AddKeysToAgent yes
UseKeychain yes
公開鍵のGitHub登録
以下コマンドで公開鍵ファイルに記載されている内容をコピーします。
$ pbcopy < ~/.ssh/hoge.pub
GitHub settings(アイコンから)のSSH and GPG keysにアクセスしてNew SSH keyをクリックします。Title項目とKey項目それぞれ入力して、Add SSH keyをクリックします。
- Title(わかりやすい名前)
- ex.) hoge-pub-key
- Key
- 先ほどコピーした公開鍵を貼り付け
SSH接続できているかは下記コマンドを実行することで確認ができます。
- 先ほどコピーした公開鍵を貼り付け
$ ssh -T hoge
接続できている場合は下記メッセージが表示されます。
Hi hoge! You've successfully authenticated, but GitHub does not provide shell access.
SourcetreeとGitHubの連携
アカウント作成画面から行います。下記入力部分を埋めて保存をクリックします。
- ユーザー名
- GitHubアカウント名
- Personal Access Token
- 事前準備で生成したToken
- SSHキー
-
キーを生成
をクリックし何もせず作成をクリック - するとGitHub上で作成した名前が表示されます
-
まとめ
以上で、SourcetreeからPush等ができるようになっているはずです。
間違い等ありましたら、ご指摘いただけますと幸いです。
Discussion