鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

git接続しようとして、Permission deniedのエラーが出た場合

>Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
>fatal: Could not read from remote repository.

>Please make sure you have the correct access rights
>and the repository exists.


こういうエラーが最近よくでます。
git pullしようとした時です。


これは、秘密鍵がちゃんと覚えられてないよーというエラーっぽいです。
現に、この状態の時は、ssh接続しようとした時、パスワードを求められました。
(ちゃんと鍵が登録されている場合は、パスワードは聞かれません)

まず、knownhostsファイルの中の、gitに関する接続情報を一度削除します。
vi ~/.ssh/known_hosts
で、gitから始まる行を削除します。

その後、ssh-add で秘密鍵のフォルダを指定してあげます。
$ssh-add <秘密鍵のパス>

パスワードを聞かれるので、秘密鍵のパスワードを入れます。
dentity added: <秘密鍵名> (<秘密鍵名>)
と出たらOK.


これで、秘密鍵を覚えてくれるので、パスワード認証なくてssh接続ができるはずです。

また、接続後にgitなどのサーバーに接続する場合などにも現れる可能性のあるエラーでうす。

なぜか繰り返し出たので、その原因については継続的に突き止めていきたいと思います。

参考にしたサイト:
GithubでSSH通信した時に「Permission denied (publickey).」が発生した時の対処方法。 - 「ひとかじりのりんご」