ssh 不遵守 -i 开关

ssh 不遵守 -i 开关

我家里的 .ssh 文件夹中有一堆密钥。如果我尝试使用以下命令登录 EC2 实例

ssh -2 -vvvv -i ~/.ec2/boogoo.pem [email protected]

我在调试输出中看到这一点:

debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: abhi@panini

我看到一堆密钥像这样尝试,直到服务器用消息禁止 ssh 尝试

Too many authentication failures

现在,如果我删除 .ssh 文件夹,则在“debug1:可以继续的身份验证:publickey”是 boogoo.pem 密钥,我可以登录服务器。

我很困惑为什么会出现这种情况? -i 开关难道不应该向 ssh 客户端明确表示,boogoo.pem 是它应该首先尝试的密钥,而不是尝试 .ssh 文件夹中存在的所有其他密钥吗?

答案1

添加-o "IdentitiesOnly yes"到命令行,或者添加IdentitiesOnly yes到中的相应部分~/.ssh/config

默认情况下,ssh将默认位置中的所有密钥~/.ssh和身份验证代理所代表的所有身份提供给远程系统,如果您在那里拥有太多密钥,远程系统可能会因为失败次数过多而将您踢出。启用该IdentitiesOnly选项指定仅应提供明确配置的身份,这样可以解决问题。

也可以看看SuperUser 上的这个答案

相关内容