Git
GitHub
SourceTree

macOS 再起動で GitHub と SSH 接続できなくなる【Sourcetree】

はじめに

結論としては Sourcetree 側の不具合だと思われます。単純な不具合回避方法としてご覧ください。
(Sourcetree を批判するものではありません)

環境と現象

環境:
- macOS Sierra 10.12.6
- Sourcetree 2.6.3
- brew cask でインストール
- GitHub、Bitbucket で確認
- Sourcetree 側に GitHub アカウントを登録
- Sourcetree 側で SSH 鍵を作成 & GitHub 登録

現象:
macOS を再起動すると SSH で GitHub 等にアクセスできなくなる
* Permission denied (publickey). と言われる
* Sourcetree 経由でも コマンド経由でも同様

原因と対策

原因は Sourcetree 側で ~/.ssh/config に自動追加される設定です。

~/.ssh/config
# --- Sourcetree Generated ---
Host AkkeyLab-GitHub
    HostName github.com
    User AkkeyLab
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/AkkeyLab-GitHub
    UseKeychain yes
    AddKeysToAgent yes
# ----------------------------

User の項目が GitHub アカウントのものになっていますが、 git にしてあげなければなりません。
したがって、以下のように変更することで再起動しても SSH 接続ができるようになります。

~/.ssh/config
# --- Sourcetree 修正版 -------
Host AkkeyLab-GitHub
    HostName github.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/AkkeyLab-GitHub
    UseKeychain yes
    AddKeysToAgent yes
# ----------------------------