Web 开发人员离开了,无法联系他,我该如何重置 ssh 的 root 密码以便可以访问它?

Web 开发人员离开了,无法联系他,我该如何重置 ssh 的 root 密码以便可以访问它?

我们的首席技术员(不专业地)离开了我们的项目,我们无法联系到他,但作为一名半技术项目经理,我可以访问 Joyent 上的服务器。我们的新开发人员需要查看我们正在运行的实例以完成项目。

是否可以检索根密码?

如果我创建新的私人 ssh 密钥,我们是否能够访问服务器?

最糟糕的情况是,如果我无法通过 ssh 访问,我该如何备份数据?

尝试清理这个烂摊子,尽快将正确的凭证交给专业人士。任何帮助都将不胜感激。谢谢。

答案1

你能ssh进入服务器吗?你能sudo进入 root 用户吗?你能通过什么运行sudo

sudo /bin/bash例如,如果您可以运行 ,然后使用rsync进行复制,那么备份数据将变得非常简单。更好的方法是使用dump或进行文件系统转储zfs send。您可以使用 进行块级备份dd

如果您可以物理访问服务器,无论是通过 Joyent 进入恢复模式,还是能够启动安装媒体,那么您可以编辑 /etc/shadow 文件。如果可能的话,这是迄今为止最简单的操作。编辑 /etc/shadow 后,将您认识的用户的加密字符串复制到 root 用户加密字符串上。例如:

根:$6$YPBAiH9m$Kf9euZx0JLKo6M51SIk1lQ1tjUajETECta/eB8dLTWEfPF1NncM7ebQrnPu7ExwqnZ130VcWyvRI21d8GlmyY/:16392:0:99999:7:::
ed:$6$zg0pHyXY$y6EriYDZCh4zrz1kztlxG2Fpf.8pmh9ON0fkoaSlW2jBJXfizrlBwGV4CFntwWsE55FKvuNlCS5UCpC1f2sio1:16392:0:99999:7:::

所以,我知道 ed 的密码,我只需要让 root 的密码看起来相同:

根:$6$zg0pHyXY$y6EriYDZCh4zrz1kztlxG2Fpf.8pmh9ON0fkoaSlW2jBJXfizrlBwGV4CFntwWsE55FKvuNlCS5UCpC1f2sio1:16392:0:99999:7:::
ed:$6$zg0pHyXY$y6EriYDZCh4zrz1kztlxG2Fpf.8pmh9ON0fkoaSlW2jBJXfizrlBwGV4CFntwWsE55FKvuNlCS5UCpC1f2sio1:16392:0:99999:7:::

瞧,实际上,这是您可以做的最简单的事情,因为您将把 root 密码设置为与您知道其密码的用户密码相同。

相关内容