事の発端
SourceTreeでローカルのリポジトリをGitHubにプッシュしようと思ったら、特にエラーコードが出るわけでもなく延々と終わらなかったんですよ。
SSHキーを作り直したりSourceTreeを再インストールしたりGitそのものを更新したり色々試しましたが中々進展せず。
同様にGitでプッシュできない、SourceTreeからプッシュできないというトラブルシューティングは多数あったのですが、どれも解決には至らず心が折れかかっていたのですが、ようやく打開できたのでその方法を公開します。
原因
SSHクライアントの初期設定が上手くなかった
実は今使っているPCでSourceTreeを使うのは結構ご無沙汰で、使う前に最新版に更新させたんですよ。
そこで設定が書き変わっちゃったんですかねぇ、SSHクライアントの設定が「PuTTY/Plink」ではなく「OpenSSH」になってたんです。
一見すると「OpenSSH」なんて如何にもスタンダードな雰囲気の名前ですが、確かに以前SSH接続していた時はPuTTYを使っていました。
対処方法
- ツール>オプション>全般>SSHクライアントの設定>SSHクライアント を「PuTTY/Plink」に変更する
- ツール>SSHキーの作成/インポート よりキーの作成またはインポートを行う
SSHキーの登録について、SourceTreeの付属ではない単体のPuTTYがインストールされている場合、そちらの登録とは別扱いになるみたいです。
同じ鍵が使えますが、SourceTreeのメニューから開けるPuTTYから登録する必要があります。
SSHキーの作成、登録方法は他に解説されている方が多くいらっしゃるので、そちらに譲らせていただきます。
検証環境
- SourceTree2.4.8.0
- Windows8.1(x64)
同じ案件で困っている方の助けになれば幸いです。