ssh-agentの代わりにgpg-agent

ssh-agentの代わりにgpg-agent

私はYubikey 4を持っていて、ここに保存されているGPGキーを使ってSSHサーバーに認証したいと思います。
GitHubを最初に使いたいです。私のGPG認証キーをGitHubに追加しました。

私の問題は、sshを実行するときにエージェントがこのキーを使用しないことです。 VPSに接続しようとして確認しましたが、ssh -vGPGキーをスキップしています。私のYubikeyが接続され、gpg2 --card-statusすべての詳細が表示されます。私は署名し、復号化することができ、Yubikeyの他の機能を使用することができます。

SSH出力

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/wilhelm/.ssh/id_rsa
debug1: Trying private key: /home/wilhelm/.ssh/id_dsa
debug1: Trying private key: /home/wilhelm/.ssh/id_ecdsa
debug1: Trying private key: /home/wilhelm/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

GNOMEパスワードマネージャを無効にしました。

私は見たことがないSSHとGitをgpg-agentに接続する提案に従ったがうまくいかないようだ。

╰─ ssh-add -l
Could not open a connection to your authentication agent.

╰─ ps aux | grep gpg-agent
wilhelm  26079  0.0  0.0  20268   980 ?        Ss   20:57   0:00 gpg-agent --daemon --enable-ssh-support --sh
wilhelm  31559  0.0  0.0  12724  2184 pts/1    S+   22:49   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg-agent

答え1

sshgpg-agentそうする方法を提供しないと、あなたとの接続を開くことはできません。

gpg-agentオプションから始めると、使用する--enable-ssh-supportシェルで使用できる必要がある環境変数が印刷されますssh。これを得る可能性はほとんどありません。

  • gpg-agent使用しているシェルで停止して再起動してくださいssh。 (これがテストする最も簡単な方法です。)

    eval $(gpg-agent --daemon --enable-ssh-support --sh)
    
  • 認証ソケットの場所を見つけて、SSH_AUTH_SOCK環境変数を手動で設定します。

後で動作することがわかったら、マニュアルページに従ってエージェントの起動を設定する必要があります。gpg-agent(1)そのため、~/.xsession自動的に起動することもできます。

関連情報