如果将“IdentitiesOnly yes”添加到*,则身份无法工作

如果将“IdentitiesOnly yes”添加到*,则身份无法工作

我这里有一个 .ssh 配置文件

Host *
AddKeysToAgent yes
IdentitiesOnly yes

#Github (default)
Host gh
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

#Bitbucket (secondary)
Host bb
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa_bb

#Azure DevOps (secondary)
Host ado
HostName ssh.dev.azure.com
User git
IdentityFile ~/.ssh/id_rsa_ado
IdentitiesOnly yes

#GitLab
Host gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gl

如果我IdentitiesOnly yes在 * 主机中进行了设置,则无法通过 SSH 连接到 bitbucket,但所有其他连接都可以工作:

% ssh -T [email protected]
[email protected]: Permission denied (publickey).

删除 IdentitiesOnly 配置会使 bitbucket ssh 正常工作。我也尝试过重新加载身份

ssh-add ~/.ssh/id_rsa_bb

答案1

authorized_keys这表明在文件(或等效文件)中配置的公钥[email protected]实际上可能不是与 中的私钥相对应的密钥~/.ssh/id_rsa_bb,而是代理中可用的其他密钥之一。

尝试使用set to ,并读取调试消息以查看远程主机实际接受哪个键。ssh -v -T [email protected]IdentitiesOnlyno

相关内容