Yubikey 4を使用しており、これに保存されているGPGキーを使用してSSHサーバーへの認証を行いたいと考えています。
最初にGitHubを使用したいと思います。 GPG認証キーをGitHubに追加しました。
私の問題は、sshを実行すると、エージェントがこのキーを使用しないことです。 ssh -v
でVPSに接続しようとして確認しましたが、GPGキーがスキップされます。私のYubikeyは接続されており、gpg2 --card-status
にすべての詳細が表示されます。 Yubikeyの他の機能を使用するだけでなく、正常に署名および復号化することができます。
Sshouput
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
ssh
は、_gpg-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
_でそれを許可します自動的に起動します。