🔑

【git】チーム開発1日目につまずいたgit cloneのエラー対処法

に公開
2025/11/24

チーム開発初日。
ワクワクしながらチームのリポジトリをcloneすべくコマンドを叩いたら、早速エラーが。ワクワクしながらチームのリポジトリをcloneすべくコマンドを叩いたら、早速エラーが。

git clone git@github.com:team-name/project-name.git
Cloning into 'project-name'...
The authenticity of host 'github.com (______)' can't be established.
ED25519 key fingerprint is SHA256:_________________________________.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

(___は伏せ字です)

無事に解決できたのですが、初心者にとっては割とややこしかったので、原因と解決ステップを下に記録しておきます。

エラーの原因

SSH鍵を設定していないため、SSH接続でエラーになっている。

解決ステップ

SSH鍵の有無の確認

まずSSH鍵があるのか確認した(叩く場所はどこでもOK):

ls -l ~/.ssh

そうしたらこう返ってきた:

-rw-r--r--@ 1 username staff 92 11 7 13:27 known_hosts

known_hostsはGitHubのこと
known_hostsしかなく、自分を証明するSSH鍵がないので、登録する必要がある

SSH鍵の作成

以下のコマンドを叩くと、SSH鍵を作成できる。

ssh-keygen -t ed25519 -C "my-laptop"

(my-laptopの部分は任意です。好きなコメントに変更してください)

OpenSSHというのを使っている
-tというのは形式を指定するオプション。
RSAという形式もあり(ssh-keygen -t rsa)、ed25519のほうがよりセキュアらしい。
バージョンにもよりますが、2025/11現在、オプションを付けないとデフォルトでed25519が採用される(ソース:https://man.openbsd.org/ssh-keygen )
OpenSSHのバージョンはssh -Vで確認できる

作成できたか確認

もう一度最初のコマンドを打つ

ls -l ~/.ssh

こう返ってくれば作成できている(pubが公開鍵、pubがついていないほうが秘密鍵)

total 24
-rw-------@ 1 username  staff  399 11  7 13:46 id_ed25519
-rw-r--r--@ 1 username  staff   89 11  7 13:46 id_ed25519.pub
-rw-r--r--@ 1 username  staff   92 11  7 13:27 known_hosts

ちなみに399とか89がファイルサイズで、11 7 13:46とかは最終更新日時

キーチェーンに登録する

秘密鍵をMacのキーチェーンに登録することで、SSH接続時に毎回打たなくてよくなります。
以下のコマンドで秘密鍵をキーチェーンに登録できます。

eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

一行ずつ打てばOK。

※ 何をやっているのか
eval "$(ssh-agent -s)": SSHエージェント(一時的なプロセス)を起動する
ssh-add --apple-use-keychain ~/.ssh/id_ed25519: SSHエージェントに秘密鍵を渡し、Macのキーチェーンに保存する

これで秘密鍵がMacのキーチェーンに登録される。

GitHubに登録する

公開鍵の内容をクリップボードにコピーする。

pbcopy < ~/.ssh/id_ed25519.pub

GitHubで Settings > SSH and GPG keysを開き、「New SSH key」をクリック。
以下の内容で鍵を作成する。

  • Title: 自由に設定(my-laptopなど)
  • Key type: 初期値の「Authentication Key」のままでOK
  • Key: コピーした内容を貼り付ける

接続できるか確認する

ssh -T git@github.com

以下のように出れば接続成功。

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

cloneする

これでcloneできるようになったはずです。
いざcloneしましょう!

任意のディレクトリへ(以下は~/Documents)

cd ~/Documents

cloneする

git clone git@github.com:team-name/project-name.git

Discussion