如何使用具有多个(有效)密钥的 ssh-agent 并选择使用哪一个?

Tob*_*ler 21 ssh ssh-agent

假设有两个密钥AB,它们都对user@host公钥身份验证有效。由于authorized_keys根据密钥配置为不同的行为,因此~/.ssh/config在客户端使用类似

Host A.host
    HostName host
    User user
    IdentityFile ~/.ssh/A
Host B.host
    HostName host
    User user
    IdentityFile ~/.ssh/B
Run Code Online (Sandbox Code Playgroud)

这很好用。但是,当我使用ssh-agent和添加两个密钥AB(例如,为了在登录时输入它们的密码而不是在我调用各自的ssh A.hostor 时ssh B.host)时,连接将始终为两个虚拟主机使用相同的 ID。有没有办法指定应该使用哪个存储的密钥而不必删除另一个密钥?sshssh-agent

Tob*_*ler 17

正如在别处回答的那样,诀窍是添加一个选项IdentitiesOnly yes,以确保即使其他人可以从代理中获得,也只会使用配置的密钥。