1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub を SSH 連携する方法まとめ(鍵作成,clone,複数管理など)

Last updated at Posted at 2025-11-25

はじめに

この記事では、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 鍵を登録して下さい。

移動

GitHub -> Setting
image.png

Setting -> SSH and GPG keys
image.png

SSH and GPG keys -> New SSH key
image.png

Add new SSH key
image.png

  • 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 はほぼ必須なので、
この記事に沿って設定すれば安定した開発環境を作ることができます。

最後に

この記事は検証をおこなってはいますが、もし間違えている箇所等があればご指摘お願いします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?