ssh_configで特定のgpgキーを使用する

ssh_configで特定のgpgキーを使用する

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

関連情報