SSH 鍵の設定(Mac)
Mac で SSH 鍵を生成し、GitHub に登録して安全に接続する手順
SSH 鍵とは
SSH 鍵はパスワードの代わりに使う認証方式です。
秘密鍵(自分だけが持つ)と公開鍵(GitHub に登録する)のペアで構成されます。
一度設定すれば、clone / push / pull のたびにパスワードを入力する必要がなくなります。
HTTPS よりもセキュアで、多くのチームが SSH を推奨しています。
STEP 1: 既存の SSH 鍵を確認する
~/.sshの中身を確認ls -la ~/.sshを実行します。ディレクトリがなくてもエラーは気にせず次へ進めます。既存鍵が GitHub 用か確認する
id_ed25519やid_rsaがあっても、それが GitHub 用とは限りません(別サーバーや他サービス用の可能性があります)。ssh -T git@github.comを実行してHi <ユーザー名>!と返ってくれば、その鍵は既に GitHub に登録済みです。状況に応じて進め方を選ぶ
既に登録済みなら設定完了です。鍵はあるが GitHub 未登録なら STEP 4 で公開鍵を登録します。GitHub 専用鍵を別に作りたい場合や鍵が無い場合は STEP 2 で新規作成します(別名で作る場合は
~/.ssh/github_ed25519のような任意のファイル名を指定できます)。
# ~/.ssh の中身を確認
ls -la ~/.ssh
# 既存鍵が GitHub に登録済みか確認
ssh -T git@github.com
# "Hi <ユーザー名>!" と返れば登録済みSTEP 2: SSH 鍵を生成する
ssh-keygen -t ed25519 -C "your-email@example.com"を実行Ed25519 は現在推奨されているアルゴリズムです。メールアドレスは GitHub に登録しているものを使います。
保存場所を決める
プロンプトで Enter を押すとデフォルトの
~/.ssh/id_ed25519に保存されます。パスフレーズを設定
セキュリティのために設定することを推奨します。空でも作成できます。入力は表示されませんが受け付けられています。
# Ed25519 で鍵を生成(推奨)
ssh-keygen -t ed25519 -C "your-email@example.com"
# 保存場所: Enter でデフォルト(~/.ssh/id_ed25519)
# パスフレーズ: 推奨(空でも可)STEP 3: ssh-agent に鍵を登録する
ssh-agent を起動
eval "$(ssh-agent -s)"でバックグラウンドの ssh-agent を立ち上げます。~/.ssh/configに github.com の設定を追加AddKeysToAgent yes、UseKeychain yes、IdentityFile ~/.ssh/id_ed25519を書いておくと、Mac の再起動後もパスフレーズの再入力が不要になります。秘密鍵を Keychain 付きで登録
ssh-add --apple-use-keychain ~/.ssh/id_ed25519を実行します。これで Keychain にパスフレーズが保存されます。
# ssh-agent を起動
eval "$(ssh-agent -s)"
# ~/.ssh/config に設定を追加
cat >> ~/.ssh/config << EOF
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
EOF
# 秘密鍵を ssh-agent に登録
ssh-add --apple-use-keychain ~/.ssh/id_ed25519STEP 4: GitHub に公開鍵を登録する
公開鍵をクリップボードにコピー
pbcopy < ~/.ssh/id_ed25519.pubで.pubファイル(公開鍵)の中身をコピーします。秘密鍵(拡張子なしの方)は絶対にコピーしないでください。GitHub の SSH and GPG keys ページを開く
Settings → SSH and GPG keys → New SSH key と進みます。
Title と Key を入力して保存
Title には「MacBook Pro」などマシンを識別できる名前を付け、Key 欄にクリップボードから貼り付けます。gh CLI 利用者は
gh ssh-key add ~/.ssh/id_ed25519.pub --title "MacBook Pro"で一発登録できます。
# 公開鍵をクリップボードにコピー
pbcopy < ~/.ssh/id_ed25519.pub
# GitHub の設定ページで「New SSH key」に貼り付け
# https://github.com/settings/keys
# または gh CLI で一発登録
gh ssh-key add ~/.ssh/id_ed25519.pub --title "MacBook Pro"STEP 5: 接続テスト
ssh -T git@github.comを実行GitHub への SSH 接続テストコマンドです。初回接続時は fingerprint の確認で
yesを入力します。成功メッセージを確認
Hi username! You have successfully authenticated...と表示されれば成功です。以降 SSH URL を使った clone / push / pull が使えます。
# 接続テスト
ssh -T git@github.com
# Hi username! You've successfully authenticated, ...
# SSH URL で clone できるようになる
git clone git@github.com:owner/repo.git
Git Ready