MacOS 10.12 SierraにしてからGitでPermission denied (publickey).

以前、GitのSSH接続ができなくなったときの対応として
ssh秘密鍵id_rsaのパーミッションは600という記事を書いたのですが
それを以ってしても Permission denied (publickey). エラーが出続ける事態が。

結論

ssh-addコマンドで、SSHエージェントに秘密鍵を登録すると、解消されました。

$ ssh-add -K ~/.ssh/【Github用の秘密鍵】

原因

私は Githubのための秘密鍵と公開鍵のセットを id_rsa とは別に設けて設定していたのですが
MacOS 10.12 Sierraにしてから ~/.ssh/config の設定を読み込まなくなっていて
github.com 用に設定している秘密鍵情報を読み取りに行けていなかったことでした。

参考:
[Mac OS X] macOS Sierra にしたら ssh の度にパスフレーズを求められる問題の解決方法
ssh-agentを利用して、安全にSSH認証を行う

試したこと

ssh秘密鍵id_rsaのパーミッションは600のコマンドを実行してみる。

ん?! authorized_keys がない。設置。

参考:
ssh公開鍵認証を実装する

うまくいかない…
認証を確認するコマンドがあるのか。実行。

$ ssh -vT git@github.com

ながれるコマンド…

...
debug1: Next authentication method: publickey
debug1: Trying private key: ~/.ssh/id_rsa
debug1: Trying private key: ~/.ssh/id_dsa
debug1: Trying private key: ~/.ssh/id_ecdsa
debug1: Trying private key: ~/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

!Github用に作っている秘密鍵を見に行ってない

秘密鍵の登録を確認

$ ssh-add -l
The agent has no identities.

!!何も登録されていない

ssh-add コマンドに -K オプションを設定して再チャレンジ

$ ssh-add -K ~/.ssh/【Github用の秘密鍵】

成功!!

おまけ

接続可能になったあとで ssh -vT コマンドを試すとこのようになりました。

$ ssh -vT git@github.com
...
debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/【Github用の秘密鍵】
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([***.**.***.***]:**).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
Hi webdev-jp-net! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3432, received 2040 bytes, in 0.3 seconds
Bytes per second: sent 11732.5, received 6973.8
debug1: Exit status 1

関連記事

Pocket