我有我的yubikey 中的 ssh 密钥,我使用gpg-agent.conf
类似这样的方法:
pinentry-program /usr/local/bin/pinentry-mac
enable-ssh-support
default-cache-ttl 60
max-cache-ttl 120
这可以帮助我ssh
进入任何主机,而无需将私钥存储在类似文件中~/.ssh/id_rsa
。
但在某些情况下,比如使用以下工具ssh-vault,ansible-vault等,他们需要读取文件中的密钥,~/.ssh/id_rsa
因此想知道是否有办法gpg-agent
在尝试从读取时调用来检索密钥~/.ss/id_rsa
,或者其他方法来检索私钥。
答案1
不,没有办法从 Yubikey 中获取私钥。这是出于安全原因而设计的。
解决此问题的方法是改用 ssh-agents。如果他们能够使用 ssh-agent,那么很容易将您的 yubikey 添加到其中。对于 OpenSSH,只需:
ssh-add -s <your-pkcs11.so>
然后您只需将您的软件指向 SSH 代理即可。