【发布时间】:2022-11-29 00:39:02
【问题描述】:
我必须通过跳转主机 ssh 到远程服务器,跳转箱和远程服务器都有自己的 ssh 密钥存储在 yubikeys 上。
当我尝试使用 ssh-agent 和 ssh-add 添加密钥时,它只提示我输入一个 yubikey pin(即使两个都已插入),而且我无法知道它正在加载哪个密钥或使用哪个 pin - 尽管 ssh-add 似乎可以根据我输入的 PIN 来确定要添加哪张卡:
$ ssh-add -s /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
Enter passphrase for PKCS#11: <PIN #1>
Card added: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
当尝试添加另一个键时,它失败了:
$ ssh-add -s /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
Enter passphrase for PKCS#11: <PIN #2>
Could not add card "/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so": agent refused operation
尝试添加第二张卡时(成功加载第一张卡后)尝试使用 libykcs11 也会失败:
$ ssh-add -s /usr/lib/x86_64-linux-gnu/libykcs11.so
Enter passphrase for PKCS#11: <PIN #2>
Could not add card "/usr/lib/x86_64-linux-gnu/libykcs11.so": agent refused operation
使用 Ubuntu 16.04。
【问题讨论】: