git でリモートリポジトリに ssh するときに Permission denied (publickey).
概要
ローカルからリモートリポジトリに push しようとして以下のエラーが出ちゃったときの話。
$ git push origin master username@hostname.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
環境
実施手順
1. 鍵の作成
$ ssh-keygen -t rsa -b 4096 -C "your@address.com"
2. ~/.ssh/config の設定
Host backlog
User username
HostName hostname.com
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
port 22
ここまでやって、リモートリポジトリに push したらエラーになったので、以下実施。
3. ssh-agent に秘密鍵を追加
$ eval `ssh-agent` Agent pid XXXXX $ ssh-add ~/.ssh/id_rsa Identity added: /c/Users/name/.ssh/id_rsa (/c/Users/name/.ssh/id_rsa)
4. 鍵の登録状態を確認
$ ssh-add -l 4096 SHA256:XXXXXXX/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXX /c/Users/name/.ssh/id_rsa (RSA)
リモートリポジトリに push して成功。