GPGキーが複数あります。そのうちの1つは、送信、電子メールなどに署名するために毎日使用することです。機密情報の暗号化に使用するよりも信頼性が高いと考える別のキーがあります。これはYubikeyにオフラインであるため、使用したい場合は接続する必要があります。
両方のキーに認証サブキーがあります。また、信頼性に分けられます。 「コンピュータ上の」キーを使用してgithubにプッシュできますが、salt-masterにログインするにはオフラインキーが必要です。
今私が経験している問題は、ほとんどのサーバーで両方のキーを使用できるようにしたいということです。信頼性の低いキーを紛失した場合に備えて、同じサーバーにアクセスするために複数のキーを使用する必要がある場合があります。 gitolite管理者とユーザーと同じです。
私の問題は、sshが最初にどのキーを試しているのかわからないため、プッシュ時にYubikeyを接続するように求められることがありますが、さらに重要なのは、Gitoliteのユースケースを処理する方法が見つからなかったことです。
私は私の.ssh/config
変更を作ることができる所有者同じサーバー、同じユーザーのエントリーは別のキーにすぎません。これは、ディスクのどこかにあるSSHキーを使用しているが、提供する特定のgpgキーを入力する方法がわからない場合に便利ですgpg-agent
。解決策はありますか?それともSSHキーを使用するように戻す以外に選択肢はありませんか?
答え1
~/.ssh/config ファイルに秘密鍵の代わりに公開鍵を追加します。で公開鍵を生成できますgpg --export-ssh-key
。 SSH は ssh-add -l にリストされているすべてのキーを試し、最初のキーを選択します。 -vTオプションを使用すると、ログを確認できます。
認証トークントグルGPGキーのエクスポート
Match host company.github.com exec CMD
Hostname github.com
...
IdentityFile ~/.ssh/company.pub
Match host my.github.com exec CMD
Hostname github.com
...
IdentityFile ~/.ssh/me.pub