ホーム / 環境構築ガイド / SSH
🔐 SETUP GUIDE

SSH 鍵の作成と
GitHub への登録方法

パスワードなしで安全に GitHub を操作できる SSH 鍵認証のセットアップガイド。
鍵の作成から GitHub への登録・接続確認まで丁寧に解説します。

📋 このページの内容

  1. SSH 鍵とは?なぜ使うの?
  2. SSH 鍵の作成
  3. ssh-agent への登録
  4. 公開鍵を GitHub に登録する
  5. 接続確認
  6. SSH で clone・push する
1

SSH 鍵とは?なぜ使うの?

SSH(Secure Shell) は暗号化された通信プロトコルです。GitHub との通信に SSH を使うことで、毎回パスワードを入力しなくても安全に認証できます。

SSH 鍵の仕組み

SSH 鍵は 秘密鍵公開鍵 のペアで構成されます。

GitHub に接続するとき、秘密鍵と公開鍵のペアが一致するかを確認して認証が完了します。パスワードを送ることなく、安全にログインできます。

💡 HTTPS との違い

GitHub のリポジトリには HTTPS と SSH の 2 種類の接続方法があります。HTTPS は毎回認証情報が必要(credential helper で解決可能)ですが、SSH は一度設定すれば以後パスワード不要です。

2

SSH 鍵の作成

PowerShell を開いて実行

# Ed25519 アルゴリズムで SSH 鍵を作成(推奨)
ssh-keygen -t ed25519 -C "your-email@example.com"

実行すると対話式で設定します。

Enter file in which to save the key (C:\Users\yourname/.ssh/id_ed25519):
→ そのまま Enter(デフォルトの場所に保存)

Enter passphrase (empty for no passphrase):
→ パスフレーズを設定(空でも OK。設定すると鍵使用時に入力が必要)

Enter same passphrase again:
→ 同じパスフレーズを再入力

Your identification has been saved in C:\Users\yourname/.ssh/id_ed25519
Your public key has been saved in C:\Users\yourname/.ssh/id_ed25519.pub

ターミナルを開いて実行

# Ed25519 アルゴリズムで SSH 鍵を作成(推奨)
ssh-keygen -t ed25519 -C "your-email@example.com"
Enter file in which to save the key (/Users/yourname/.ssh/id_ed25519):
→ そのまま Enter

Enter passphrase (empty for no passphrase):
→ パスフレーズを入力(推奨)または空のまま Enter

Your identification has been saved in /Users/yourname/.ssh/id_ed25519
Your public key has been saved in /Users/yourname/.ssh/id_ed25519.pub
🔒 秘密鍵は絶対に共有しない

id_ed25519(秘密鍵)は絶対に他人に渡したり、Git にコミットしたりしないでください。GitHub に登録するのは id_ed25519.pub(公開鍵)のみです。

作成された鍵を確認する

# Windows
ls ~/.ssh
id_ed25519      ← 秘密鍵(絶対に見せない)
id_ed25519.pub  ← 公開鍵(GitHub に登録する)

# 公開鍵の内容を表示
cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... your-email@example.com
3

ssh-agent への登録

ssh-agent は秘密鍵を一時的に記憶してくれるプログラムです。パスフレーズを設定した場合でも、一度入力すればセッション中は省略できます。

# ssh-agent を起動
Start-Service ssh-agent

# 秘密鍵を追加
ssh-add ~/.ssh/id_ed25519
💡 Windows で「サービスが見つからない」エラーが出る場合

「サービス」→「OpenSSH Authentication Agent」を右クリック→「プロパティ」でスタートアップの種類を「自動」に変更してサービスを開始してください。

# ssh-agent を起動して秘密鍵を追加
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

# ~/.ssh/config に追記(自動で Keychain を使うように設定)
cat >> ~/.ssh/config << 'EOF'
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519
EOF
4

公開鍵を GitHub に登録する

公開鍵(id_ed25519.pubの内容)を GitHub のアカウント設定に登録します。

公開鍵のコピー

# クリップボードにコピー
Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard
# クリップボードにコピー
pbcopy < ~/.ssh/id_ed25519.pub

GitHub に登録する手順

  1. GitHub (https://github.com) にログインします。
  2. 右上のアイコン → 「Settings」 をクリックします。
  3. 左メニューの 「SSH and GPG keys」 をクリックします。
  4. 「New SSH key」 ボタンをクリックします。
  5. Title:わかりやすい名前を入力(例:MacBook Pro 2024Windows Work PC
  6. Key:コピーした公開鍵を貼り付けます。
  7. 「Add SSH key」 をクリックして登録完了です。
💡 鍵は複数登録できます

自宅の PC・会社の PC・ノート PC など、複数のデバイスからアクセスする場合はそれぞれの公開鍵を登録してください。

5

接続確認

以下のコマンドで GitHub への SSH 接続をテストします。

ssh -T git@github.com

初回は以下のような確認メッセージが表示されます。

The authenticity of host 'github.com (140.82.x.x)' can't be established.
ED25519 key fingerprint is SHA256:+DiY...
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

yes と入力して Enter を押します。

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

自分のユーザー名が表示されれば SSH 接続の設定は完了です!

⚠️「Permission denied (publickey)」エラーが出る場合

・公開鍵が GitHub に正しく登録されているか確認する
ssh-add -l で秘密鍵が ssh-agent に登録されているか確認する
ssh -vT git@github.com で詳細ログを確認する

6

SSH で clone・push する

SSH の設定が完了したら、リポジトリの URL を SSH 形式で使いましょう。

SSH URL の確認

GitHub のリポジトリページで「Code」ボタン → 「SSH」タブを選択すると SSH URL が表示されます。

# SSH 形式の URL(@マークが目印)
git@github.com:username/repository.git

# HTTPS 形式(これは使わない)
https://github.com/username/repository.git

SSH で clone する

git clone git@github.com:username/repository.git

既存リポジトリの URL を HTTPS → SSH に変更する

# 現在のリモート URL を確認
git remote -v
origin  https://github.com/username/repository.git (fetch)
origin  https://github.com/username/repository.git (push)

# SSH 形式に変更
git remote set-url origin git@github.com:username/repository.git

# 変更後の確認
git remote -v
origin  git@github.com:username/repository.git (fetch)
origin  git@github.com:username/repository.git (push)
🔀
Git インストールガイド
Git のインストールと初回設定を確認しよう
📚
Git/GitHub コース
Git の基本から GitHub を使ったチーム開発まで

🎉 SSH 鍵の設定完了!

これで GitHub にパスワードなしで安全に接続できます。
Git/GitHub コースで本格的なバージョン管理を学びましょう!