🔐
1Password SSH Agentで複数のSSH鍵を使い分ける
GitHub複数アカウントの認証問題
1Password SSH Agentを使用して、GitHub上で複数のアカウントを使い分けてSSH接続する時認証エラーになることがあります。
リモートのサーバー上でSSH Agent Forwardingを使ってGitHubに接続する場合、リモートサーバーへの接続時の鍵が利用されるとは限らないためです。
鍵を指定してGitHubに接続する
通常このような問題を解決するにはIdentityFileで秘密鍵を指定すると思います。
しかし、その場合GitHubへ接続したい秘密鍵をリモートサーバーに保存する必要があり、せっかく秘密鍵をファイルとして残さないように1Password SSH Agentを使っているメリットがなくなってしまいます。
IdentityFileには公開鍵を指定できる
実はIdentityFileでは公開鍵を指定することができます。リモートサーバーの~/.ssh/id_ed25519.pub
に公開鍵を保存し以下の設定することで指定した鍵でGitHubに接続できるようになります。
~/.ssh/config
Host github.com
IdentityFile ~/.ssh/id_ed25519.pub
IdentitiesOnly yes
SSH鍵の管理はセキュリティの基盤なので、できるだけシンプルに安全に管理していきたいですね。
Discussion