GitHub用SSH Config設定
専用鍵を使ったGitHubへのSSHアクセス設定方法。Hostエイリアス、IdentityFile、IdentitiesOnlyを使ったクリーンなGitワークフローを解説します。
Basic Config
詳細な説明
GitHubのSSH設定
GitHubのSSHを設定すると、git pushやgit 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鍵を管理している場合に最適です。