我有一台虚拟机,上面运行着 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 服务器不再使用密码验证,您有两种方法可以继续:
~/.ssh/authorized_keys
在(只需复制并粘贴到文件的新行中)中安装 ssh 密钥通过修改 /etc/ssh/sshd_conf 文件,允许再次使用 ssh 密码登录
密码验证 是
密码验证恢复后,您可以从所需的 bash 中使用 ssh-copy-id 安装 ssh 密钥。