昨日までgithubに対してpull/pushもできていたのですが、急にエラーになるようになりました。ちなみにremoteのrepositoryはsshです。しかもエラーになるのはこの端末のみ。
$ g pull Enter passphrase for key '/Users/rochefort/.ssh/github_rsa': Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
とりあえず公式をみる
Generating SSH Keys · GitHub Help
見慣れない記載があります。
# start the ssh-agent in the background eval "$(ssh-agent -s)" # Agent pid 59566 ssh-add ~/.ssh/id_rsa
やってみると動きました。
本来的にはssh-agent/ssh-add はパスフレーズの入力をキャッシュさせたりするのに利用するようですが、そもそも秘密鍵の場所がどこにあるかわかんないのが原因のようです。
ググってみると
Git and ssh authorizating - Stack Overflow
ssh-add 派が大多数のようですが、毎度 ssh-agent/ssh-add するのは面倒です。
ターミナルからgithubのリポジトリにアクセスする設定(sshの設定) - Qiita
かつては、.ssh/config に記載する方法がgithubのヘルプにあったようです。
$ cat ~/.ssh/config Host github.com User git IdentityFile ~/.ssh/github_rsa
.ssh/config に記載する方法で運用してみます。
ほかのマシンは、そんなことしてないんだけどなぁ。gihub_rsa って名前かな。