新人エンジニアからの質問 GitHub に SSH キーを使って認証しようとしたが、認証できませんでした
次のようなメッセージが出ました。
$ git push -u origin main
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).
は、GitHub に SSH キーを使って認証しようとしたが、認証ができなかったことを示しています。
💡 解決策
以下の手順を試して、問題を解決してください。
1. SSH キーが設定されているか確認
まず、ローカルの SSH キーを確認します。
ls -l ~/.ssh/
以下のようなファイルが表示されるか確認してください(名前は異なる場合あり)。
id_rsa
(秘密鍵)id_rsa.pub
(公開鍵)
👀 もし .ssh
フォルダが空だった場合 SSH キーが未生成の可能性があるので、次の 「2. SSH キーを生成する」 に進んでください。
2. SSH キーを生成する(未設定の場合)
もし .ssh
にキーがない場合、新しく SSH キーを作成します。
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
実行時のポイント:
your-email@example.com
は GitHub に登録しているメールアドレス に置き換えてください。- 「Enter a file in which to save the key」 で
Enter
を押すと、~/.ssh/id_rsa
に保存されます。 - パスフレーズは空でも OK ですが、セキュリティのために設定を推奨 します。
3. SSH 公開鍵を GitHub に登録
SSH キーが作成されたら、公開鍵を GitHub に登録する必要があります。
- 公開鍵の内容を確認
cat ~/.ssh/id_rsa.pub
これをコピーしてください。 - GitHubにログイン → SSH キーを追加
- GitHubのSSHキー設定ページ にアクセス
- 「New SSH Key」をクリック
Title
: 任意の名前(例: "My Laptop")Key
: さきほどコピーした公開鍵を貼り付け- 「Add SSH Key」をクリック
4. SSH 接続ができるかテスト
GitHub への接続を確認します。
ssh -T git@github.com
成功すると以下のメッセージが表示されます:
Hi <your-github-username>! You've successfully authenticated, but GitHub does not provide shell access.
このメッセージが表示されない場合、次の 「5. SSH エージェントを有効にする」 に進んでください。
5. SSH エージェントを有効にする
SSH キーを追加したのにエラーが出る場合は、SSH エージェントにキーを登録します。
eval "$(ssh-agent -s)" # SSHエージェントを起動
ssh-add ~/.ssh/id_rsa # SSHキーを登録
その後、もう一度 ssh -T git@github.com
を試してください。
6. origin
の URL を SSH に変更
もし、リモートリポジトリの URL が HTTPS になっていると、SSH を使えません。現在の URL を確認します。
git remote -v
HTTPS の場合
origin https://github.com/your-username/your-repo.git (fetch)
origin https://github.com/your-username/your-repo.git (push)
SSH に変更する
git remote set-url origin git@github.com:your-username/your-repo.git
もう一度 git push -u origin main
を試してください。
✅ まとめ
手順 | やること |
---|---|
1 | ls -l ~/.ssh/ で SSH キーがあるか確認 |
2 | ssh-keygen -t rsa -b 4096 -C "your-email@example.com" で SSH キー作成 |
3 | cat ~/.ssh/id_rsa.pub で公開鍵をコピーし、GitHub に登録 |
4 | ssh -T git@github.com で接続確認 |
5 | eval "$(ssh-agent -s)" → ssh-add ~/.ssh/id_rsa でエージェントに登録 |
6 | git remote set-url origin git@github.com:your-username/your-repo.git |
これで解決できるはずです! 🚀✨
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
新入社員2025年2月21日【新人エンジニア必見】よくあるGitエラーメッセージと対策方法10選
新入社員2025年2月21日Spring BootのThymeleaf(タイムリーフ)入門 – テンプレートエンジンの基礎を学ぼう!
新入社員2025年2月21日【完全ガイド】良いJavaDocの書き方とベストプラクティス
新入社員2025年2月21日Spring Bootのアノテーションはなぜインタフェースなのか?