那么发生了什么事呢,我有一台 Ubuntu 14 服务器。我将 SSH 密钥和密码上传到服务器。我只有一个用户:root。现在的问题是,我格式化了有 SSH 密钥的计算机。有没有可能以任何方式访问服务器而不丢失任何数据?
答案1
上传到远程服务器的 SSH 密钥是公钥,这是实际“SSH 密钥”的两个部分之一。它旨在“公开”披露给远程服务器,因为您需要相应的私钥它存储在您的计算机上以用于连接。(一个类似的例子是 PGP 加密,其工作方式类似 - PGP 公钥可用于加密数据,但需要 PGP 私钥来解密信息并使用它。同样,SSH 需要您拥有与公钥相对应的私钥才能进行基于密钥的身份验证。)
如果您格式化了系统、丢失了私钥并且从那时起将数据写入磁盘,则您可能无法恢复 SSH 私钥。
请咨询远程服务器提供商,看看他们是否有串行控制台来访问系统。如果是 VPS,他们可能通过控制面板提供这种机制。在您的计算机上创建一个新的 SSH 密钥,通过串行控制台将私钥上传到服务器,删除旧私钥,然后正常连接。
答案2
如果服务器端的 SSH 仅允许密钥认证,而客户端(您)端的私钥丢失,则需要联系系统管理员,并将监视器连接到机器(取决于您访问服务器的可能性)。
如果您password:
在运行时收到提示ssh root@[ip]
,那么您应该尝试您可能在服务器上设置的密码。