はじめに
この記事では、GitHub と SSH を使った接続方法について、
鍵の作成から clone、複数鍵の管理まで分かりやすくまとめています。
※ちなみに、SSH 接続はどうやら推奨ではないようなので、そこは注意してください(自分も記事を出すにあたって確認していただいた際に、指摘を受けました)。
本記事について
本記事は、 Qiita アドベントカレンダー2025 にCirKit(第1日)として登録してあります。"すごい記事"を書けているとは思いませんが、皆さんの参考になれば幸いです。
この記事を読むにあたって
以下のように、変数のように記載されている箇所があります。
"[username]" は "s-taku0502" のように [] を外して記述してください。
この記事の対象者
- GitHub のアカウントを登録した人
- GitHub の操作を SSH で行いたい人
- PC を複数使っていて SSH で安全に管理したい人
SSH とは
SSH(Secure Shell)は、暗号化された通信を使ってサーバやサービスに安全に接続する仕組みです。
GitHub では、HTTPS の代わりに SSH 鍵(公開鍵認証)を使うことで次のメリットがあります。
- パスワード入力が不要
- 認証情報が安全
- 毎回アクセストークンを使う必要がない
- 長期的に安定して運用できる
SSH は
- 公開鍵(GitHub に登録する)
- 秘密鍵(PC にだけ置く)
の2つで認証を行う仕組みです。
SSH の設定
1. Git のユーザー情報を設定していない場合
まだ設定していなければ登録します。
git config --global user.name "[あなたのGitHubユーザー名]"
# 例)git config --global user.name "s-taku0502"
git config --global user.email "[your_email@example.com]"
# GitHub に登録したメールアドレスが推奨
# または GitHub の noreply メールでもOK
# 例)git config --global user.email "123456+[username]@users.noreply.github.com"
2. SSH 鍵が存在するか確認
ls -a ~ | grep .ssh
何も表示されなければ、まだ .ssh ディレクトリはありません。
3. SSH 鍵を作る
ssh-keygen -t ed25519 -C "[your_email@example.com]"
途中は Enter を2回押すだけでOK。
以下の2つが生成されます。
-
id_ed25519(秘密鍵) -
id_ed25519.pub(公開鍵)
4. SSH エージェントに鍵を登録する
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
5. 公開鍵を GitHub に登録する
cat ~/.ssh/id_ed25519.pub
これをコピーして GitHub へ。
コピー方法
sudo apt install xclip
xclip -sel clip < ~/.ssh/id_ed25519.pub
# コピー完了!
コピーが完了したら GitHub → Settings → SSH and GPG keys → New SSH key の順番でページを遷移し、SSH 鍵を登録して下さい。
移動
SSH and GPG keys -> New SSH key

- Title:任意 (例:Ubuntu PC)
- Key:公開鍵を貼り付け
6. GitHub への接続テスト
ssh -T git@github.com
以下が出れば成功:
Hi [username]! You've successfully authenticated...
SSH を使って clone する方法
GitHub のリポジトリページで
Code → SSH を選択し、表示される URL を使用します。
例:
git@github.com:[username]/[repository].git
実際の clone:
git clone git@github.com:[username]/[repository].git
これで SSH 経由で GitHub リポジトリを取得できます。
SSH 鍵を再生成したい場合
既存の鍵を削除:
rm -rf ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub
再度作成:
ssh-keygen -t ed25519 -C "[your_email@example.com]"
エージェント登録:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
GitHub に新しい公開鍵を登録すればOKです。
複数 SSH 鍵を管理する方法(PC 複数 / GitHub 2アカウント対応)
1. 鍵を複数作成する
例:仕事用 / 個人用 の2つを作りたい場合
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_work -C "work@example.com"
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_private -C "private@example.com"
2. SSH config に登録する
~/.ssh/config を編集:
nano ~/.ssh/config
中身の例:
# 個人用 GitHub
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_private
# 仕事用 GitHub
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
3. clone 時に Host を使い分ける
個人用リポジトリ:
git clone git@github.com-personal:[username]/repo.git
仕事用リポジトリ:
git clone git@github.com-work:company/repo.git
これで GitHub アカウントが複数あっても問題なく管理できます。
まとめ
この記事では以下を扱いました。
- Git ユーザー情報の登録
- SSH 鍵の存在確認
- SSH 鍵の作成
- GitHub への登録
- SSH で clone する方法
- SSH 鍵の再生成
- 複数鍵の管理方法(SSH config)
GitHub を長期的に使うなら SSH はほぼ必須なので、
この記事に沿って設定すれば安定した開発環境を作ることができます。
最後に
この記事は検証をおこなってはいますが、もし間違えている箇所等があればご指摘お願いします。


