git@github.com: Permission denied (publickey)の解決方法【2025年最新版】

git@github.com: Permission denied (publickey) エラーの解決方法

エラーの概要・症状

「git@github.com: Permission denied (publickey)」というエラーメッセージは、GitHubにSSHを介して接続しようとした際に、認証に失敗した場合に表示されます。このエラーは、SSHキーが正しく設定されていないか、GitHubアカウントに関連付けられていない場合に発生します。具体的には、以下のような状況でこのエラーが見られます。

  • SSHキーが生成されていない
  • SSHキーがGitHubアカウントに追加されていない
  • SSHエージェントが正しく起動していない
  • 誤ったSSHキーが使用されている

このエラーが発生する原因

このエラーの主な原因は、SSHキーに関連する設定ミスです。以下に、一般的な原因をいくつか挙げます。

  1. SSHキーが生成されていない。
  2. 生成したSSHキーがGitHubアカウントに追加されていない。
  3. SSHエージェントが動作していない。
  4. 使用するSSHキーが間違っている。
  5. SSHの設定ファイルに問題がある。

解決方法

解決方法 1: SSHキーの生成と登録

  1. ターミナルを開き、次のコマンドを入力してSSHキーを生成します。
    bash
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    このコマンドは、指定したメールアドレスに基づいてSSHキーを生成します。
  2. 生成されたSSHキーをGitHubアカウントに追加します。次のコマンドで公開鍵の内容をクリップボードにコピーします。
  3. macOS:
    bash
    pbcopy < ~/.ssh/id_rsa.pub
  4. Linux:
    bash
    xclip -sel clip < ~/.ssh/id_rsa.pub
  5. Windows(PowerShell):
    powershell
    Get-Content ~/.ssh/id_rsa.pub | Set-Clipboard
  6. GitHubにログインし、右上のプロフィール写真をクリックして「Settings」を選択します。「SSH and GPG keys」をクリックし、「New SSH key」を選択します。クリップボードにコピーしたSSHキーを貼り付けて、「Add SSH key」をクリックします。

解決方法 2: SSHエージェントの起動とキーの追加

  1. ターミナルでSSHエージェントを起動します。
    bash
    eval "$(ssh-agent -s)"
  2. 次に、SSHキーをエージェントに追加します。
    bash
    ssh-add ~/.ssh/id_rsa

この手順を実行することで、SSHエージェントが正しく動作し、GitHubに接続できるようになります。

解決方法 3: SSH設定ファイルの確認

  1. ~/.ssh/configファイルを開きます。存在しない場合は作成します。
    bash
    nano ~/.ssh/config
  2. 以下の内容を追加します。
    Host github.com
    IdentityFile ~/.ssh/id_rsa

この設定により、指定したSSHキーがGitHubに接続する際に使用されるようになります。

解決方法 4: SSH接続のテスト

  1. SSH接続が正しく設定されているかを確認するために、次のコマンドを実行します。
    bash
    ssh -T git@github.com

接続が成功すると、「Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.」というメッセージが表示されます。

解決方法 5: 既存のSSHキーのパーミッションを修正

SSHキーのファイルパーミッションが適切でない場合もエラーが発生します。次のコマンドでパーミッションを修正します。

chmod 400 ~/.ssh/id_rsa

このコマンドにより、SSHキーがオーナーのみ読み取り可能となり、適切な設定になります。

エラーの予防方法

エラーを未然に防ぐためには、以下の点に注意してください。

  • SSHキーは定期的に確認し、必要に応じて新しいキーを生成する。
  • GitHubアカウントに正しいSSHキーが追加されているか確認する。
  • SSHエージェントが常に起動していることを確認する。

まとめ

「git@github.com: Permission denied (publickey)」というエラーは、SSHキーに関する設定ミスが主な原因です。この記事では、SSHキーの生成から登録、SSHエージェントの設定、接続のテストまでの手順を詳しく説明しました。これらの手順を実行することで、エラーを解決し、スムーズにGitHubにアクセスできるようになります。

コメント

タイトルとURLをコピーしました