SSH:删除密钥验证以设置新的密钥验证

SSH:删除密钥验证以设置新的密钥验证

我有一台虚拟机,上面运行着 OpenSSH 服务器。我搞乱了 SSH 服务器公钥身份验证设置(在虚拟机上的 SSH 会话中安装了所有内容,而不是从计算机上的外部终端安装)。我可以使用公钥从虚拟机上的 Debian 会话进行 SSH,但这毫无意义。

我需要完全删除我的 SSH 密钥认证,以便我可以正确设置一个新的,并能够从我的 OSX 终端通过 SSH 连接到在 VM 上运行的服务器。

我该怎么做才能从头开始清理?

抱歉,我是个菜鸟。

答案1

在客户端 ssh 中,known_hosts 的指纹保存~/.ssh/known_hosts在服务器中,authorized_key 安装在服务器下,~/.ssh/authorized_keys因此取决于您是否要清理服务器上安装的密钥,取消条目或删除整个文件 authorized_keys。

如果您仍然可以使用用户名和密码连接到 ssh 服务器,那么您可以使用以下命令安装新的客户端密钥:

ssh-copy-id user@server

然后提供密码并安装 ssh 密钥。

相反,如果 ssh 服务器不再使用密码验证,您有两种方法可以继续:

  1. ~/.ssh/authorized_keys在(只需复制并粘贴到文件的新行中)中安装 ssh 密钥

  2. 通过修改 /etc/ssh/sshd_conf 文件,允许再次使用 ssh 密码登录

    密码验证 是

密码验证恢复后,您可以从所需的 bash 中使用 ssh-copy-id 安装 ssh 密钥。

相关内容