我在 Digital Ocean 上购买了服务器/Droplet根据其建议禁用密码登录,因此只能通过 SSH 密钥访问。
据我所知,SSH 安全机制基本上使得它只能由存储了特定私钥的计算机访问。
如果我的电脑坏了怎么办?我应该备份 SSH 文件吗?会不会永远无法进入?我应该如何确保服务器的安全,同时确保不会意外删除对服务器的所有访问权限?
答案1
在这种情况下,关键文件是您的私钥。它通常位于~/.ssh/id_rsa
或~/.ssh/id_dsa
- 如果您的私钥与您在 Digital Ocean 服务器上授权的公钥相匹配,您将能够访问它。如果您的计算机崩溃,请将该文件恢复到另一台计算机。如果您将其恢复到~/.ssh/old_privkey
新计算机上,只需使用 SSH 并-i ~/.ssh/old_privkey
指定在通过 SSH 连接到 Digital Ocean 服务器时要使用的身份文件:
$ ssh -i ~/.ssh/old_privkey root@server
如果您丢失了该私钥文件,那么您就有麻烦了。
答案2
是的,您应该备份您的私钥(以及您的密码管理器数据库,如果您存储密码以解锁它)。
但是,如果您被锁定在云计算机之外,无论是因为您丢失了私钥还是在配置文件中犯了错误或删除了重要文件,您都需要联系云提供商的支持团队(他们可以物理访问计算机),表明身份,并要求他们为您解决问题。根据他们的政策以及解决问题所需的工作量,您可能需要支付修复费用。
如果您会因云计算机丢失而受到严重影响,则应将云计算机上的所有数据备份到其他位置(包括您可能需要用新云计算机更换云计算机的任何说明(例如,“安装这些应用程序”) ,更改这些配置文件中的这些选项”))。
答案3
除非 Digital Ocean 有一种备份方法来验证您的身份,否则它将永远无法访问。我不知道他们是否有,但即使他们有,我想也会很麻烦。
您可以将私钥备份到 USB 记忆棒中,然后将其保存在随身携带、银行金库或任何您更喜欢的地方。您希望其他人无法接近它,但在发生火灾或洪水时也能安全。
您可以授权其他 SSH 密钥,以便您可以从工作计算机和家庭计算机等设备访问您的服务器。这样,如果其中一个崩溃,您始终可以从另一个访问它。除非第二个在你设法设置另一个之前崩溃了。
或者你可以结合这两种策略。
归根结底,这实际上取决于确保您无论如何都可以访问,而不是确保其他人无法访问。您引入的可以挽救您的访问权限的方法越多,您介绍给其他人的方法就越多。抓住那个 USB 记忆棒! (或者至少,确保您的密钥有一个可靠的密码。您不会忘记。并且不需要写下来。并且无法被猜到......)