あけましておめでとうございます!chrysealmです。
今年も宜しくお願い申し上げます。
MacのOSをSierraにあげたところ、SourceTreeで以下のエラーが発生しました。
先日、仕事で使っているMacのOSをSierraにアップデートしました。
すると、SourceTreeでプッシュしようとした際に次のようなエラーが表示されたのです。
Permission denied (publickey)
最近、Macを2013年のものから2017年のものに交換し、意気揚々と作業をしていただけにショック…。
きちんとSSHキーも作成して登録したのに。。
アップデートの結果、秘密鍵へのパスフレーズが登録されなくなったみたい?
こちらのQiitaの記事[macOS Sierra のSSH接続で、秘密鍵へのパスを覚えてくれない問題]にも書かれていますが、Sierraへのアップデートで秘密鍵に関する挙動が変更になり、Macの方で秘密鍵のパスフレーズを覚えなくなったようです。
その結果、SourceTreeでのssh接続時に秘密鍵を参照できず、エラーが発生していたということでしょうか。
先ほどのQiitaの記事にも解決案が記載されていますが、以下の方法でも一応対処可能です。
【対応方法】
ターミナルからbitbucketに接続(ログイン)します。
以下のコマンドを実行してください。
$ ssh -T git@hogehoge
hogehoge.orgには、~./.ssh/config内のHost部分の名前を書いてください。
例えば以下の場合はhogehogeの部分。
Host hogehoge HostName bitbucket.org User user名 PreferredAuthentications publickey IdentityFile ~./.ssh/秘密鍵のファイル名 UseKeychain yes AddKeysToAgent yes
接続に成功した場合は以下のように表示されます。
logged in as user名.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
こちらの記事が参考になりました。ありがとうございます。
[memo]ssh_config の Host 指定でちょっとだけはまった話
bitbucketにgitでpushするとPermission denied (publickey).と表示されるときの解決法
終わりに
今回はSierraでのSourceTreeのエラーについて取り上げました。
OSをアップデートする際は何かしらのトラブルに見舞われますね。
それでは、本日はここまで。
また次回お会いしましょう!