为什么删除私钥后RSA认证仍然有效?

为什么删除私钥后RSA认证仍然有效?

我正在测试我的 authorized_hosts 设置,因此删除了我的本地私钥。然后我使用 RSA 身份验证成功通过 ssh 连接到我的远程服务器。

我原本以为权限会被拒绝,因为不再有私钥来保证我是我。我猜我误解了一些基本的东西。有人知道发生了什么吗?

ssh-add 似乎没有保存我的私钥:

jake@clyde:~$ sudo pkill -9 ssh-agent

答案1

您的私钥可能已加载到计算机上运行的 SSH 代理中。使用ssh-add -L进行验证。

答案2

Ignacio 的建议让我开始思考。如果 ssh-agent 可能缓存了我的私钥(事实证明并非如此),那么还有什么可能呢?罪魁祸首当然是 gnome-keyring-daemon。也许有更优雅的方法,但用锤子砸碎它感觉很好(kill -9)。现在尝试在不存在私钥的情况下进行 RSA 身份验证会按预期失败。

相关内容