今回のSSH設定経緯
- SourceTreeからGithubのアカウントを追加
- ローカルに既存sshファイルが無かったため、SourceTreeからSSHファイルを自動作成。
- GitHubに作成したSSHキーを設定。
- SourceTreeからGitHubにSSH接続したら、以下のようなエラーが表示。

git@github.com: Permission denied (publickey).
公開鍵の権限拒否というエラーメッセージが含まれています。
エラーの原因
今回私が認識した主な原因は2つです。
1、macOS Sierra 10.12.2以降を使用している場合は、SSHキーをssh-agentに追加する必要がある。
2、設定の手順が間違っていた。
SSHエラーを解消する(GitHub公式ドキュメントを参考)
GitHubの公式ドキュメントにSSHの設定手順が記載されています。
重要:必ずドキュメントにある順番で設定を行ってください。
すでにSSHファイルを作っていたり、GitHubにSSH keysを設定している場合は、一度両方とも削除して、1〜4の順番で設定を進めてみてください。
- バックグラウンドでssh-agentを起動する。
- SSHファイルをSourceTreeのGitHubアカウントから作成する。
- SSH秘密鍵をssh-agentに追加し、パスフレーズをキーチェーンに保存する。
- 作成したSSHキーをGitHubに設定する。
バックグラウンドでssh-agentを起動する。
ターミナルからコマンドを打ちます。
// 以下のコマンドをうちます
eval "$(ssh-agent -s)"
// 以下のような表示がでればOKです。
gent pid 59566
SSHファイルをSourceTreeのGitHubアカウントから作成する
ローカルにSSHファイルが作られていない状態
(今回のケースは)ローカルのsshディレクトリ(通常はユーザディレクトリ直下、例:/Users/ユーザー名/.ssh)にはsshファイルがない状態です。

sshファイルが作られている場合、一般的には「id_rsa_hoge(秘密鍵)」「d_rsa_hoge.pub(公開鍵)」という名前のファイルがあると思います。
SSHファイルをSourceTreeのGitHubアカウントから作成
SourceTreeアプリを立ち上げて、環境設定を開きます。

「アカウント」タブからGitHubのアカウントをクリックして設定画面を開きます。

プロトコルがSSHであることを確認します。
sshファイル未作成の場合は「キーがありません」という表示と「キーを作成」というボタンがあるのでクリックして、sshキーを作成します。

パスフレーズは入力しなくてもSSHキーを作成することができます。
必要に応じて入力をし「作成」をクリック。

SSHキーに、公開鍵のファイル名が表示されています。
ファイル名は「GitHubのアカウント名」+「-Github.pub」になるようです。

sshディレクトリないのconigファイルの中に、以下のような記述が追加されています。
# --- Sourcetree Generated ---
Host mmapple-GitHub
HostName github.com // 必ず「githib.com」
User git // 必ず「git」
PreferredAuthentications publickey
IdentityFile ~/.ssh/mmapple-GitHub
UseKeychain yes
AddKeysToAgent yes
# ----------------------------
SourceTreeが自動で書き出す設定内容ではHostとUserの値がGitHubのユーザー名になってしまい、接続エラーになります。
HostとUserは必ず「git」にする必要があるため、手動でconfigファイルの内容を必ず書き直してください。
SSH秘密鍵をssh-agentに追加し、パスフレーズをキーチェーンに保存する
以下のコマンドを打ち、パスフレーズをキーチェーンに保存します。
ssh-add -K ~/.ssh/mmapple-GitHub(sshファイル名)
ユーティリティー内の「キーチェーンアクセス」でgitで検索すると、GitHubのキーチェーンが登録されています。

GitHubのアカウントにSSHキーを追加
GitHubのアカウントに行き、メニューから「Setting」を選択します。

設定画面のメニューから「SSH&GPG keys」をクリックします。

SSH keysの「New SSH key」をクリック

SourceTreeのGitHubアカウントに戻り、SSHキーの「クリップボードにコピー」をクリックします。

GitHubの画面に戻り、SourceTreeで作成したSSH keyを登録します。
適宜タイトルを入力し、keyエリアにコピーしたキーを貼り付けます。

GitHubにSourceTreeのSSH keyが追加されました。

ここまでの設定を行ったところ、SSHエラーが解消され、SourceTreeからGitHubにSSH接続することができました。