🔰はじめての方へ

【GitHub】WindowsからMacBookへ移行:SSHキー設定完全ガイド|Authentication key と Signing keyの違いなど

Github
記事内に広告が含まれています。
スポンサーリンク

WindowsからMacBookに移行する際、GitHubのSSHキー設定でかなり躓きました。。

そもそもSSHキーって何だよってところから、いや・・・
なんでWindowsで設定してたのにまた設定しなきゃいけないんだ!!ってところから、色々躓いてAIや検索したりして頑張ったので共有させてください!!

詳しいWindowsからMacBookへ移行手順については、別途記事にしているので、必要時ご参照ください!

SSH鍵の基本を理解

公開鍵と秘密鍵の違い

SSHキーはペアで作られる:

  • 秘密鍵id_ed25519):自分だけが持つ、絶対に他人に見せてはいけない鍵
  • 公開鍵id_ed25519.pub):GitHubなどに登録する、公開しても安全な鍵

仕組み

  1. あなたが秘密鍵でデータに「署名」
  2. GitHubが公開鍵でその署名を「検証」
  3. 署名が正しければ、本人確認完了!

ちょっとむずいのですが、とりあえず、秘密鍵は絶対公開してはいけないっということだけは理解しておきたいです。

よくある疑問:ファイル名が同じだけど大丈夫?

「id_ed25519って、みんな同じファイル名じゃない?」

調べていると、「id_ed25519」というものがよくでてきて、「これ、公開していいものなの?」なんて思ったりしたんですが、これは、

ファイル名は同じでも、中身は完全に違

ということらしいです。

ファイル名の意味

  • id = identifier(識別子)
  • ed25519 = 暗号化アルゴリズムの名前

つまり「Ed25519アルゴリズムで作った識別用の鍵」という意味なんです。

実際に確認してみよう

# 公開鍵の中身を表示
cat ~/.ssh/id_ed25519.pub

出力例:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI~~~長い文字列~~~ you@example.com

この AAAAC3NzaC1lZDI1NTE5AAAAI~~~ の部分があなただけのユニークな鍵データです。

同じものを持っている人は世界中に存在しません!

GitHubに登録する手順

1. 公開鍵をコピー

cat ~/.ssh/id_ed25519.pub

上記で出力した列をコピー

2. GitHubで設定

  1. GitHub → Settings → SSH and GPG keys
  2. 「New SSH key」をクリック
  3. Authentication key を選択(後述)
  4. 先ほどコピーした内容をそのまま貼り付け

Authentication key vs Signing key どっち?

VSCode、Cursorを使うなら Authentication key 一択です!

種類用途必要性
Authentication keygit pushgit pullなどの基本操作必須
Signing keyコミットに署名を付与(Verifiedバッジ)オプション

複数デバイスでの鍵管理

「Windowsでも鍵作ってるけど、また作って大丈夫?」

全く問題ありません!むしろ推奨です。

メリット

  • デバイスごとに独立したセキュリティ
  • 1台が危険にさらされても他は安全
  • 必要に応じて個別に無効化可能

GitHubには複数登録できる

GitHubは複数のSSHキーを登録できるので、MacBook用、Windows用と分けて管理しましょう。

動作確認

設定完了後、接続テストを実行:

ssh -T git@github.com

成功すると:

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

まとめ

  • 公開鍵の内容をそのままGitHubに登録すればOK
  • ファイル名は同じでも中身は完全にユニーク
  • デバイスごとに鍵を作るのがセキュリティのベストプラクティス
  • 通常の開発なら Authentication key で十分

これで安心してMacBookでの開発を始められます!

詳しい手順については別途記事にしているのでご参照ください!