重置 Linux EC2 服务器密码

重置 Linux EC2 服务器密码

由于权限问题,无法登录 EC2 ubuntu 服务器。

问题:我的 EC2 ubuntu 服务器有(root 和 ubuntu)用户,我用来使用 ssh 登录 ubuntu。我错误地将 Ubuntu 主目录的所有权更改为 root,并撤销了其他用户该目录的所有权限。因此,用户(Ubuntu)主目录只有 root 的 RWX 权限,其他人没有。现在我无法使用 SSH 登录 ubuntu。我提供了 .pem 文件,但这次无论 .pem 文件如何,我都会收到密码提示。看来我搞砸了。

我尝试过的:

  1. 尝试使用 ssh 登录 root(不允许)
  2. 尝试使用 ssh 登录 ubuntu (询问密码是因为我认为权限问题)
  3. 尝试侵入。正在运行 Wordpress,所以我使用 Admin 将 shell 放在服务器上。我获得了反向 shell,但无法进行权限升级以获取 root 权限。

如果您能帮助我进入我的服务器/重置密码/从 AWS 仪表板进入的方式/或任何方式,我将非常感激。

答案1

哎呀!

虽然这种事情时有发生,但这是一个很好的教训,让您在访问时更加小心。如果您完全失去访问权限,那么您可以选择的选项几乎肯定会涉及关闭虚拟机……您无法以 100% 的正常运行时间从中恢复。

如果这是本地 PC,您可以将硬盘取出,放入另一台计算机,然后从另一台计算机重置密码。尽管这是一个虚拟机,但原理是相似的。这里有一个类似问题的解决方案:https://stackoverflow.com/a/11776183/453851

基本原理是EC2虚拟机使用“卷”作为硬盘。通过 AWS 控制台您可以:

  • 关闭你的虚拟机
  • 分离卷
  • 创建一个全新的虚拟机(有自己的卷)
  • 启动新虚拟机
  • 将旧卷附加到新虚拟机(作为第二个卷)

然后登录新虚拟机并:

  • 安装旧卷(到/mnt/
  • chroot进入已安装的文件系统 ( chroot /mnt/ /bin/bash)。 这将为您提供一个命令行,其行为就像在旧虚拟机中运行一样。
  • 更改您想要的任何密码passwd
  • 关闭

最后回到AWS控制台:

  • 分离旧卷
  • 将其重新连接到旧虚拟机
  • 启动旧虚拟机
  • 完全删除新虚拟机(小心删除正确的虚拟机)

相关内容