由于权限问题,无法登录 EC2 ubuntu 服务器。
问题:我的 EC2 ubuntu 服务器有(root 和 ubuntu)用户,我用来使用 ssh 登录 ubuntu。我错误地将 Ubuntu 主目录的所有权更改为 root,并撤销了其他用户该目录的所有权限。因此,用户(Ubuntu)主目录只有 root 的 RWX 权限,其他人没有。现在我无法使用 SSH 登录 ubuntu。我提供了 .pem 文件,但这次无论 .pem 文件如何,我都会收到密码提示。看来我搞砸了。
我尝试过的:
- 尝试使用 ssh 登录 root(不允许)
- 尝试使用 ssh 登录 ubuntu (询问密码是因为我认为权限问题)
- 尝试侵入。正在运行 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控制台:
- 分离旧卷
- 将其重新连接到旧虚拟机
- 启动旧虚拟机
- 完全删除新虚拟机(小心删除正确的虚拟机)