現象
git fetch [1330ms]
[info] git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
問題
- 以前は接続できていたのに、突然「Permission denied (publickey)」エラーが発生
- macOSでは再起動後にssh-agentへのSSH鍵登録が消える
- 毎回
ssh-addコマンドで鍵を再登録する必要がある
原因
macOSのssh-agentは再起動時にメモリ上の鍵情報をクリアするため、SSH鍵の登録が失われる
解決方法
1. SSH設定ファイルの作成・編集
nano ~/.ssh/config
2. GitHub専用の設定を追加
Host github.com
HostName github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa_github
設定の意味:
AddKeysToAgent yes– 自動的にssh-agentに鍵を追加UseKeychain yes– macOSキーチェーンに鍵情報を保存IdentityFile– 使用する秘密鍵のパスを指定
3. 鍵をmacOSキーチェーンに登録
ssh-add --apple-use-keychain ~/.ssh/id_rsa_github
4. 接続確認
ssh -T git@github.com
成功メッセージ: Hi username! You've successfully authenticated...
効果
この設定により、再起動後も自動的にmacOSキーチェーンから鍵情報が読み込まれ、手動でssh-addする必要がなくなります。
No responses yet