我将 ssh 配置为使用 GPG 作为我的 ssh 代理,如果我删除了该~/.ssh文件夹,我可以使用我的 gpg 密钥通过 ssh 进入我的服务器。但是,我的~/.ssh文件夹中有十多个不同的 ssh 密钥,如果我在它存在时尝试 ssh,我会收到权限被拒绝错误,因为我的 ssh 客户端在尝试密钥之前提供了目录中的每个私钥gpg SSH 代理。
使用常规 ssh 密钥,我只使用文件中的IdentityFile配置~/.ssh/config,但我不能这样做,因为我的身份是 gpg cardno。我很困惑为什么 ssh 更喜欢密钥文件而不是代理。有没有办法强制 ssh 使用代理而不是文件?或者更好的是,有没有办法在~/.ssh/config文件中指定gpg 密钥必须用于给定服务器?
我已经确认ssh-agent没有运行并且gpg-agent正在运行并ssh-add -L显示我的 gpg 密钥存在,以及一个其他 ssh 样式的私钥。