Sourcetree(ソースツリー)でSSH接続できなくなった時の対処方法
※文章・コード見直しのため2022年2月25日に更新しました。
Gitを利用している環境
私が普段使っている環境は、backlog(バックログ)と、Sourcetree(ソースツリー)を連携して使用しています。
Gitはターミナルでプッシュ・プルはしておらず、Sourcetree(ソースツリー)で管理しています。
SSH接続が出来なくなったトラブルの内容
どのようなトラブルかというと、いつも通りbacklog(バックログ)のプロジェクトを開いて、GitのリポジトリからSSHのURLをコピーします。
それからSourcetree(ソースツリー)の「URLからクローン」を選択して、ソースURLにSSHのURLをペーストします。
いつもなら公開鍵が認証されて「これはGitリポジトリです」と表示されるのですが、読み込み状態が永遠と続き、SSH接続をすることができませんでした。
私の場合は、OSをアップデートした後に接続ができなかったので、この影響でSSH接続情報が消えてしまったのでは?と考えることができます。
SSH接続を確認・解決方法
$ ssh [スペース名]@[スペース名].git.backlog.jp
ターミナルを開いて、SSH接続が正常に設定されているのかを確認します。
上記コマンドを入力してenterキーを押してください。
ターミナルを開いて、SSH接続が正常に設定されているのかを確認します。
上記コマンドを入力してenterキーを押してください。
[スペース名]には、ご利用しているスペース名に変更してください。
例えば、スペース名が「company」なら入力するコマンドは「$ ssh company@company.git.backlog.jp」となります。
※ドメインがbacklog.comの方は、backlog.jpをbacklog.comに変更してください。
The authenticity of host '[スペース名].git.backlog.jp ([IPアドレス])' can't be established.
RSA key fingerprint is SHA256:vUgu+kx0TXpk/8Za77SIXd/+3nNsamN/C/+ncbV/20g.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
上記のようなメッセージが表示されました。
「接続を続行してもよろしいですか?」と書かれています。
yes
「yes」と入力してenterキーを押してください。
Host key verification failed.
「ホストキーの検証に失敗しました。」と書かれていますが、これでOKです。
Enter passphrase for key '/Users/name/.ssh/id_rsa':
もしくは上記のように表示された場合は、公開鍵認証のパスワードを入力してください。
$ ssh [スペース名]@[スペース名].git.backlog.jp
最初に入力したコマンドをもう一度入力して、enterキーを押します。
SSH接続が設定されているのか、再度確認をします。
PTY allocation request failed on channel 0
Hi ! You've successfully authenticated, but Backlog does not provide shell access.
Connection to since.git.backlog.jp closed.
上記のようなメッセージが表示されれば、接続に成功したことになります。
あとはSourcetree(ソースツリー)で、もう一度クローンを試してみましょう。
「これはGitリポジトリです」と表示されていれば成功となります。
それでもSSH接続できない場合は、キーチェーンアクセスに原因があるかも
キーチェーンアクセスに古いパスワード情報が登録されていて、パスワードが一致しないことで接続できないケースもあります。
その場合、登録されているパスワードを削除することで解消することもできます。
Macにデフォルトで入っているキーチェーンアクセスを開きます。
左側のデフォルトキーチェーンは「ログイン」を選択して、検索窓で「sourcetree」と検索すると、保存されているパスワードが一覧で表示されます。
接続できない項目を見つけたら、マウス右クリックで「〇〇〇〇〇〇を削除」を選択します。
削除してください。
再びSourcetreeに戻ってSSH接続でのクローンを試してみてください。
Sourcetreeでクローンしようとするとパスワードを入力する画面が出てきますので、新しいパスワードを入力します。
「store password in keychain」にチェックを入れるとキーチェーンアクセスにパスワードが保存されます。
以上、無事に接続できるか試してみてください。