エンジニア

SourceTreeでPushできない!Gitのエラーの対処法を解説

こんにちは!今回は、SourceTreeを使っているときに「Permission denied (publickey)」エラーに遭遇した際の解決した方法についてお話しします。
たびたびこういったエラーに遭遇し、リモートリポジトリにアクセスできないといった相談を受けるため、解決方法について記載します。参考になれば幸いです!

エラーの内容と原因

SourceTreeでpushしようとしたときに、以下のようなエラーメッセージが表示されることがあります。

[git@github.com](mailto:git@github.com): Permission denied (publickey).
fatal: Could not read from remote repository.

このエラーは、SSHキーの認証に失敗したときに発生します。原因として考えられるのは、SSHキーの設定が正しくないか、キーが無効になっている場合です。

SSHキーの設定を見直す方法

まず、SSHキーの設定を見直してみましょう。設定に不審な点がないか確認します。
それでも問題が解決しない場合は、SSHキーを新しく作成し直す必要があります。

SSHキーの再作成手順

既存のSSHキーの削除

まず、Finderを開きます。メニューから「移動」>「フォルダへ移動」を選択し、以下のパスを入力して「移動」をクリックします。

~/.ssh

このフォルダ内にあるconfigファイルとid_rsa、id_rsa.pubファイルを選択して、「ゴミ箱」に入れます。
shell操作に慣れてる場合はcdで直接移動して削除で大丈夫です。

新しいSSHキーの作成

SourceTreeを開き、アカウントから新しいSSHキーを作成します。

SSHキーのGitHubへの登録

作成したSSHキーをGitHubに登録します。まず、SourceTreeのアカウントからキーの内容をコピーします。
GitHubの設定ページに移動し、「SSH and GPG keys」セクションで「New SSH key」をクリックし、キーを貼り付けて保存します。

まとめ

SSHキーを再作成して設定することで、SourceTreeの「Permission denied (publickey)」エラーを解消できます。
これで無事にリモートリポジトリにアクセスできるようになりました!

補足

これらで解決できない場合、参照しようとしてるリポジトリにWrite権限があるかも管理者に問い合わせしてみると良いでしょう。
チーム開発で新規にアサインされた場合、そもそもRead権限しか持っていないことも考えられます。

  • この記事を書いた人

あるせ

上場ゲーム会社のクリエイターで1児の父です。 プログラミングなどクリエイター向けの記事から日々のお役立ち記事まで幅広く発信します!

PickUp

1

はじめに Google Geminiは、Googleが提供する高性能なAIモデルです。今回は、Google Apps Script(GAS)を使ってGoogle GeminiのAPIを呼び出す方法を紹 ...

2

Cursorとは? Cursorは、AIを利用したコード補完ツールで、プログラムを書く際に提案をしてくれるだけでなく、指示に基づいてコードを生成してくれます。スクリプトを自動生成したり、バグの修正やリ ...

3

第1位: SourceTree SourceTreeは、無料で使える高機能なGitクライアントです。直感的なUIで操作がしやすく、初めてGitを使う人にもぴったり!ブランチの管理やマージが簡単にできる ...

4

Pythonで画像ファイルを連番リネームをしてみたのでやった方法について記載します!連番リネームは、画像を整理する際や特定の用途に合わせてファイル名を統一したいときに便利です。 Pythonでの連番リ ...

-エンジニア
-,