撤消基于 SSH 密钥的身份验证

撤消基于 SSH 密钥的身份验证

我正在使用 Debian 11 (Bullseye) 和 Gnome 桌面。

为了进行测试,我通过创建密钥对(将公钥传输到远程主机)并进行~/.ssh/config如下修改来实现基于 SSH 密钥的身份验证:

Host server
  IdentityFile ~/.ssh/server_id_rsa

一切工作正常,我可以无需密码登录远程主机(使用密钥)。


为了切换回原来的行为,我从 中删除了以上两行~/.ssh/config。但是,我仍然可以无需密码登录(通过 ssh)。

重新启动并不能解决问题。

我不想删除密钥,因为其他地方需要它……而且我猜这个问题与Debian 错误 472477


那么,我怎样才能撤消基于 SSH 密钥的身份验证无需删除密钥?

(等待 bug 得到解决并不是一种选择,因为这个 bug 已经存在 15 年了。)

编辑:我刚刚发现,当我远程登录到计算机时,一切都按预期工作(基于密钥的身份验证确实如此)不是当我删除 ) 时工作~/.ssh/config​​ - 但是,当使用 Gnome 终端时,基于密钥的身份验证仍然存在。

答案1

我为我的问题找到了以下解决方案:

  • 创建一个新文件夹~/.ssh/backup并将相关密钥(公钥和私钥)复制~/.ssh到此新文件夹中
  • 使用 Gnome(或从 cli 运行 seahorse)从密钥列表中删除相关密钥(这将从 中删除密钥~/.ssh
  • 重新启动计算机
  • 将相关密钥复制回~/.ssh

此后,密钥在 Gnome(海马)中也将可见 - 但是,问题(基于密钥的身份验证存在而没有任何条目~/.ssh/config)就消失了。

相关内容