如果有集,ssh-agent 如何选择密钥?

How Does ssh-agent Select a Key if There's a set?

提问人:404 提问时间:4/23/2022 更新时间:4/23/2022 访问量:456

问:

一起使用时,与哪个保持一组键的流程是什么,选择正确的键。 是谁请求密钥集并迭代它们,还是自己生成迭代?sshssh-agentsshssh-agent

就我而言,我正在使用一个私有存储库,该存储库使用非默认密钥(其他密钥)授权。因此,如果仅持有所需的密钥,则使用存储库操作非常好。gitsshid_rsassh-agentgit

但是,当两者都添加到(以任何顺序)时,存储库未获得授权。id_rsarepo_rsassh-agent

那么,谁在链中负责选择正确的密钥呢?gitsshssh-agent

并且是否可以在不污染将虚假主机名映射到身份的级别上调整选择。这样,为了保持存储库 url 的干净,并将键选择保留在“下方”?ssh-agent.ssh/configSSH_AUTH_SOCK

git ssh 密钥 ssh-agent

评论


答:

0赞 torek 4/23/2022 #1

那么,谁在链中负责选择正确的密钥呢?gitsshssh-agent

ssh 和 ssh-agent。Git 在这里没有任何作用。Ssh 最终负责尝试密钥,因此它负有最终责任。然而,在代理请求密钥后,ssh 会按照代理交出的顺序尝试它们,或者可能与该顺序相反;当然,ssh-agent 可以(以某种方式)被指示只交出正确的(也许通过谨慎使用)。ssh-add -d

并且是否可以仅在 ssh-agent 级别上调整选择,而不会将虚假主机名映射到身份[?.ssh/config

除了我不完全严肃的建议之外,我不这么认为,但我不是 ssh 专家。ssh-add -d