こんにちは、Tech Samuraiです!
新しいMac miniをセットアップし、Ryeを使ったPython開発環境も整いました。次なるステップは、ソースコード管理の心臓部である**GitHub**との連携です。
git push`
のたびにユーザー名とパスワード(正確には個人アクセストークン)を入力する日々には、もううんざりしていませんか? **SSH接続**を設定すれば、その面倒な作業から解放され、セキュリティも向上します。
この記事では、新しいMacでGitHubとのSSH接続を確立するための全手順を、私が実際にM4 Mac miniで試した経験に基づき、ステップバイステップで解説します。特に、**Macを再起動してもパスフレーズの再入力を不要にする**ための、キーチェーン連携が今回の鍵です!
なぜHTTPSよりSSH接続なのか?
GitHubと連携する方法にはHTTPSとSSHの2種類がありますが、SSH接続には大きなメリットがあります。
- パスワード不要: 一度設定すれば、
git push
やgit pull
の際に毎回パスワードやトークンを入力する必要がなくなります。 - 高いセキュリティ: 公開鍵暗号方式という、より安全な仕組みで通信を行います。
日々の開発効率が劇的に向上するため、本格的に開発を行うならSSH接続は必須と言えるでしょう。
ステップ1:SSHキーの生成(秘密の鍵と公開用の鍵を作る)
まず、あなたのMacの中で、通信の暗号化に使う「秘密鍵」と、GitHubに登録する「公開鍵」のペアを作成します。ターミナルを開いて、以下のコマンドを実行してください。
セキュリティ強度の高い`ed25519`という方式で鍵を生成するのが、現在のベストプラクティスです。
# -C の後ろには、識別のためのあなたのメールアドレスを記入
ssh-keygen -t ed25519 -C "your_email@example.com"
実行すると、いくつか質問されます。
Enter file in which to save the key ...
: 保存場所を聞かれます。何も入力せずEnter
キーを押せば、デフォルトの場所(~/.ssh/id_ed25519
)に保存されるのでOKです。Enter passphrase (empty for no passphrase):
**パスフレーズ(鍵のパスワード)**を入力します。セキュリティのため、**必ず設定してください。**Enter same passphrase again:
確認のため、もう一度同じパスフレーズを入力します。
これで、~/.ssh/
ディレクトリに、秘密鍵(id_ed25519
)と公開鍵(id_ed25519.pub
)が作成されました。
ステップ2:パスフレーズ入力を省略する設定(Macのキーチェーン連携)
このままでは、PCを再起動するたびにパスフレーズの入力を求められてしまいます。そこで、Macのパスワード管理機能「キーチェーン」に、このSSHキーのパスフレーズを記憶させます。
# 1. SSHエージェントを起動
eval "$(ssh-agent -s)"
# 2. SSHキーをMacのキーチェーンに登録
# この --apple-use-keychain がMac専用の便利なオプション
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
この設定により、一度パスフレーズを入力すれば、キーチェーンがそれを記憶し、再起動後も自動で認証してくれるようになります。
ステップ3:GitHubへの公開鍵の登録
次に、ペアの片割れである「公開鍵」の中身を、GitHubに登録します。
- 公開鍵の内容をコピーする
以下のコマンドで公開鍵の中身を表示し、表示された文字列(ssh-ed25519 ...
)を全てコピーします。cat ~/.ssh/id_ed25519.pub
- GitHubに登録する
- GitHubにログインし、右上のプロフィールアイコンから「Settings」に移動します。
- 左側のメニューから「SSH and GPG keys」をクリックします。
- 「New SSH key」ボタンを押します。
- 「Title」には、どのPCの鍵か分かる名前(例: `M4 Mac mini`)を付けます。
- 「Key」の欄に、先ほどコピーした公開鍵の文字列を貼り付け、「Add SSH key」をクリックします。
ステップ4:最終確認 – 接続テストとリポジトリ連携
全ての設定が完了しました。最後に、正しく接続できるかテストしましょう。
4.1 接続テスト
ターミナルで以下のコマンドを実行します。
ssh -T git@github.com
初めて接続する場合、以下のような警告が表示されることがあります。
The authenticity of host 'github.com (...' can't be established.
...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
これは「本当にgithub.comに接続しますか?」という初回確認です。**yes
**と入力してEnterを押してください。これは正常なプロセスです。
最終的に、Hi [あなたのユーザー名]! You've successfully authenticated...
というメッセージが表示されれば、認証は成功です!
4.2 実際のプロジェクトでSSH接続を使う
既存のリモートリポジトリのURLをHTTPSからSSHに変更するか、新しいリポジトリをSSHで連携します。
GitHubのリポジトリページで、「Code」ボタンを押し、**「SSH」タブ**に切り替えてURL(git@github.com:...
)をコピーします。
# プロジェクトフォルダに移動
cd /Volumes/KIOXIA_SSD/MyProject
# (まだリモートが登録されていない場合)
git remote add origin git@github.com:TechSamurai/my-project.git
# (すでにHTTPSで登録されている場合は、URLを変更)
# git remote set-url origin git@github.com:TechSamurai/my-project.git
# SSH経由でプッシュ!パスワードは聞かれないはず
git push -u origin main
まとめ
今回は、MacでGitHubとのSSH接続を確立し、パスワード不要の快適なGitライフを手に入れるまでの全手順を探検しました。`ssh-keygen`で鍵を作り、`–apple-use-keychain`でMacに記憶させ、GitHubに公開鍵を登録する、という流れを一度経験すれば、もう怖いものはありません。
これで、あなたの開発効率とセキュリティは大幅に向上しました。さあ、RyeとSSHという強力な武器を手に、コーディングの冒険を続けましょう!
コメント