我已连接到我的服务器。我编辑/root/.ssh/authorized_keys
并添加到----BEGIN RSA PRIVATE KEY-----
公钥的开头和-----END RSA PRIVATE KEY-----
结尾。我错误地失去了与主机的连接,现在尽管有 id_rsa 文件,但我无法连接到主机。ssh -i /home/me/id_rsa root@ip
它向我展示:Enter passphrase for key '/home/me/id_rsa':
root@ip: Permission denied (publickey).
我该如何解决这个问题?如何连接服务器?
答案1
/root/.ssh/authorized_keys 并添加 ----BEGIN RSA PRIVATE KEY-----
autorized_keys
非常明显的是民众应该有权访问的关键指纹。您添加了您的私钥,但这根本不符合该文件的意义和格式。这有两个后果:
- 您破坏了该文件,导致 SSH 无法解析该文件
- 您将您的私钥(永远不应该离开您的控制)复制到其他地方的服务器。我们称这种状态为妥协的,如果您已经在其他地方使用过它(或者更确切地说,它的匹配公钥),那么您现在需要去那里并删除对它们的访问权限。
我该如何解决?如何连接服务器?
您根本无法再通过 SSH 进行连接,除非设置了密码并且您知道该密码。这很好:你锁上了你家的前门。现在已经关门了。
我们无法告诉您是否有其他方式连接到您的服务器。例如,您可能不是唯一的管理员,另一个管理员可能仍然可以通过其用户帐户进行访问(看到您破坏了 的 SSH 登录root
)。
如果这是一台云服务器,通常的操作过程是到您的管理控制台,下载服务器的备份映像,使用它作为模板/参考来配置一个新的虚拟机,用它替换无法访问的虚拟机。
答案2
我使用提供商的管理控制台登录服务器系统。在对文件进行任何更改之前,我创建了一个备份,~/.ssh/authorized_keys
然后将其替换为原始文件,然后建立了连接。