我正在使用 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
)就消失了。