0
0

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 キーをプロジェクトごとに分けて接続する方法

Last updated at Posted at 2024-12-02

ローカル開発でGitHub用SSHキーをプロジェクトごとに分ける方法

このドキュメントでは、MacOSでGitリポジトリごとにSSHキーを分けて接続する方法を説明します。

事前準備

次の GitHub 公式ドキュメントを参考に SSH キーを生成してください:

SSHキーの生成

GitHub に公開鍵を登録

SSHキーを生成したら、公開鍵の内容をクリップボードにコピーして:

pbcopy < ~/.ssh/YOUR_PUBLIC_KEY

GitHubにその公開鍵を登録します。

ssh-agentを(再)起動

次のコマンドでssh-agentを起動します:

zsh
eval "$(ssh-agent -s)"

SSH設定ファイルの編集

カスタムのホスト名を YOUR_HOST とし、SSHキー YOUR_KEY を追加する場合は、~/.ssh/config に以下を追加します:

~/.ssh/config
HOST YOUR_HOST
 AddKeysToAgent yes
 UseKeychain yes
 HostName github.com
 User git
 IdentityFile ~/.ssh/YOUR_KEY

この設定で、GitHub用のカスタムSSH設定を有効化します。

SSHキーをキーチェインに追加

次のコマンドでSSHキーをmacOSのキーチェインに追加します:

zsh
ssh-add --apple-use-keychain ~/.ssh/YOUR_KEY

次のコマンドでSSHエージェントにキーが追加されていることを確認します:

ssh-add -l

接続テスト

次のコマンドでSSH接続が正しく設定されているかテストします:

zsh
ssh -T git@YOUR_HOST

成功すると次のメッセージが表示されます:

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

プロジェクトをクローン

GitHubアカウント YOUR_OWNER のリポジトリ YOUR_REPO をクローンするには、以下を実行します:

zsh
git clone git@YOUR_HOST:YOUR_OWNER/YOUR_REPO.git

クローンが成功したら、プロジェクトのルートディレクトリに移動します。

zsh
cd YOUR_REPO.git

プロジェクトのリモート origin を変更

リモートのURLをカスタムホスト名を使った形式に変更します:

zsh
git remote set-url origin git@YOUR_HOST:YOUR_OWNER/YOUR_REPO.git

デプロイキーを使用する場合

デプロイキーを設定している場合、Gitユーザー情報を次のコマンドで設定します:

zsh
git config user.name YOUR_OWNER
git config user.email YOUR_EMAIL

これにより、コミット時に適切なユーザー情報が使用されます。

以上の手順で、リポジトリごとに適切なSSHキーを使ってGitリポジトリのクローンや管理することができます。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?