我一直在尝试使用 yubikey 作为通过 ssh 进行远程连接的身份验证方法这指导。我很好地设置了 gpg2,我可以看到我已将密钥加载到卡上
gpg2 --card-status
我已经使用导出它
gpg2 --export-ssh-key > [keyname].txt
并且可以很好地看到生成的密钥。我的 gpg-agent.conf 设置如下:
#config pinentry-program
pinentry-program /usr/bin/pinentry
#ssh support
enable-ssh-support
#write env inf to .gpg-agent-info
write-env-file
use-standard-socket
#default cache timeout
default-cache-ttl 600
max-cache-ttl 7200
并按照指南中的说明修改了我的 .bashrc 。我有什么想法可以寻找解决方案吗?
答案1
好吧,经过一番修修补补并阅读 gpg-agent 手册页后,我让它工作了这里。我需要添加
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh"
fi
到我的 .bashrc 中,让 SSH_AUTH_SOCK 指向正确的位置而不是 ssh-agent。