私はUbuntu 14.10ディストリビューションと2つの秘密鍵(暗号化された鍵(~/.ssh/E.key
)と暗号化されていない鍵(~/.ssh/NE.key
))を使用しています。これを使用して2つのgithubリポジトリrepoE
とrepoNE
。
gitbhub.com
私は、各SSHキーにマッピングされている2つの異なるドメインにエイリアスを割り当てるための一般的なトリックを使用しました。
コンテンツ(関連コンテンツのみ)~/.ssh/config
:
Host github.com-E
Hostname github.com
IdentityFile ~/.ssh/E.key
Host github.com-NE
Hostname github.com
IdentityFile ~/.ssh/NE.key
ローカルストレージ構成の内容(関連コンテンツのみ):
# /path/to/repoE/.git/config:
[remote "origin"]
url = [email protected]:organizationE/repoE.git
# /path/to/repoNE/.git/config:
[remote "origin"]
url = [email protected]:organizationNE/repoNE.git
ssh-add
にアクセスするためにパスワードを入力する必要がないようにを使用しますrepoE
。
問題は、明らかに私が追加した最初のキーだけが使用されることです(sshクライアントログで引用符を見ることができます)。
たとえば、サンプルの実行は次のようになります。
$ ssh-add ~/.ssh/E.key
# I can now access repoE, but not repoNE
$ ssh-add ~/.ssh/NE.key
# Still the same (I can access repoE, but not repoNE)
$ ssh-add -D
$ ssh-add ~/.ssh/NE.key
# I can now access repoNE, but not repoE
$ ssh-add ~/.ssh/E.key
# Still the same (I can access repoNE, but not repoE)
答え1
gpg-agent
そしておそらく、ssh-agent
キーが何に属するのか気にしないでしょう。キーはキーグリップ(純粋にキーマテリアルの指紋ですが、OpenPGPフィンガープリントはキーマテリアルや作成日などのいくつかの追加データの上にあります)で識別されます。
設定ファイルでロギングを有効または増やすことができます~/.gnupg/gpg-agent.conf
。関連オプションは
--debug-level
--log-file
この変更を有効にするには再gpg-agent
起動が必要ですSIGHUP
(または、指定されたオプションを含む一部の変更についてはマニュアルページの「SIGHUP」セクションを参照)、再起動が必要です。
設定ファイルでロギングを有効にすると役に立ちssh
ます。関連オプションは次のとおりです。git push
ssh
strace -f -e trace=execve git push
log_file
LogLevel