macOSでGitHub SSH接続が再起動後に切れる問題と解決方法

現象

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です