GitHub用SSH Config設定

専用鍵を使ったGitHubへのSSHアクセス設定方法。Hostエイリアス、IdentityFile、IdentitiesOnlyを使ったクリーンなGitワークフローを解説します。

Basic Config

詳細な説明

GitHubのSSH設定

GitHubのSSHを設定すると、git pushgit pullのたびに認証情報を入力する必要がなくなります。~/.ssh/configに専用のHostエントリを追加することで、GitHub接続時に使用する鍵をSSHクライアントに正確に指示できます。

設定例

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_github
  IdentitiesOnly yes
  AddKeysToAgent yes

主要ディレクティブの説明

ディレクティブ 目的
Host github.com github.comへの接続にマッチ
User git GitHubはSSHで常にgitユーザーを使用
IdentityFile GitHub専用の秘密鍵を指定
IdentitiesOnly yes エージェント内の他の鍵を試行しない
AddKeysToAgent yes 初回使用後にssh-agentに鍵をキャッシュ

なぜ専用鍵を使うのか?

GitHub用に別のSSH鍵を使うことで、セキュリティの分離性が向上します。1つの鍵が漏洩しても、他のサービスは影響を受けません。

鍵の生成

ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_github

公開鍵(~/.ssh/id_ed25519_github.pub)をGitHubアカウントのSettings > SSH and GPG keysに追加してください。

ユースケース

GitHubリポジトリへのpushやpullにSSH経由のGitを使用する開発者、特に複数のサービス用にSSH鍵を管理している場合に最適です。

試してみる — SSH Config Generator

フルツールを開く