私はYubikey 4を持っていて、ここに保存されているGPGキーを使ってSSHサーバーに認証したいと思います。
GitHubを最初に使いたいです。私のGPG認証キーをGitHubに追加しました。
私の問題は、sshを実行するときにエージェントがこのキーを使用しないことです。 VPSに接続しようとして確認しましたが、ssh -v
GPGキーをスキップしています。私の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
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
自動的に起動することもできます。