ローカル開発でGitHub用SSHキーをプロジェクトごとに分ける方法
このドキュメントでは、MacOSでGitリポジトリごとにSSHキーを分けて接続する方法を説明します。
事前準備
次の GitHub 公式ドキュメントを参考に SSH キーを生成してください:
GitHub に公開鍵を登録
SSHキーを生成したら、公開鍵の内容をクリップボードにコピーして:
pbcopy < ~/.ssh/YOUR_PUBLIC_KEY
GitHubにその公開鍵を登録します。
ssh-agentを(再)起動
次のコマンドでssh-agentを起動します:
eval "$(ssh-agent -s)"
SSH設定ファイルの編集
カスタムのホスト名を YOUR_HOST
とし、SSHキー YOUR_KEY
を追加する場合は、~/.ssh/config
に以下を追加します:
HOST YOUR_HOST
AddKeysToAgent yes
UseKeychain yes
HostName github.com
User git
IdentityFile ~/.ssh/YOUR_KEY
この設定で、GitHub用のカスタムSSH設定を有効化します。
SSHキーをキーチェインに追加
次のコマンドでSSHキーをmacOSのキーチェインに追加します:
ssh-add --apple-use-keychain ~/.ssh/YOUR_KEY
次のコマンドでSSHエージェントにキーが追加されていることを確認します:
ssh-add -l
接続テスト
次のコマンドでSSH接続が正しく設定されているかテストします:
ssh -T git@YOUR_HOST
成功すると次のメッセージが表示されます:
Hi YOUR_OWNER! You've successfully authenticated, but GitHub does not provide shell access.
プロジェクトをクローン
GitHubアカウント YOUR_OWNER
のリポジトリ YOUR_REPO
をクローンするには、以下を実行します:
git clone git@YOUR_HOST:YOUR_OWNER/YOUR_REPO.git
クローンが成功したら、プロジェクトのルートディレクトリに移動します。
cd YOUR_REPO.git
プロジェクトのリモート origin を変更
リモートのURLをカスタムホスト名を使った形式に変更します:
git remote set-url origin git@YOUR_HOST:YOUR_OWNER/YOUR_REPO.git
デプロイキーを使用する場合
デプロイキーを設定している場合、Gitユーザー情報を次のコマンドで設定します:
git config user.name YOUR_OWNER
git config user.email YOUR_EMAIL
これにより、コミット時に適切なユーザー情報が使用されます。
以上の手順で、リポジトリごとに適切なSSHキーを使ってGitリポジトリのクローンや管理することができます。