托管在 EC2 上的网站/Amazon 被私钥劫持

托管在 EC2 上的网站/Amazon 被私钥劫持

我有一位新客户,她的前任开发人员让她的网站在 Amazon/EC2 上陷入困境。他持有该实例的私钥,尽管她拥有对 Amazon 控制面板的完全访问权限(她为每周有 3 名访问者的网站支付了 300 美元/月),但她无法删除内容并移动到新主机。

我不熟悉 AWS,不知道该如何帮助她。服务器上网站的组/文件权限有问题,因此无法通过她的 WordPress 控制面板导出内容/数据库。

有什么办法可以帮助她吗?谢谢!

答案1

您有两个选择:

  1. 创建图像(AMI、快照)EC2 实例并从该映像创建一个新实例。

    • 它应该将 SSH 密钥设置为您指定的密钥,即您的新密钥。
    • 确保所有网络和安全设置与旧实例相同。
    • 您可能需要重新分配弹性 IP从旧的 Web 服务器实例迁移到新的 Web 服务器实例,或者更新 DNS 以指向新的 IP。
  2. 或者修改根卷来自单独的 EC2 实例。

    1. 使用您知道的 SSH 密钥启动一个新的 EC2 实例。

    2. 停止网络服务器实例(不要终止它)。

    3. 在里面EC2 详细信息寻找根体积名称,可能是/dev/xvda/dev/sda1。记下来。然后将鼠标悬停在根卷名称上时,单击弹出框中的卷 ID,例如vol-1234abcd1234abcd

    4. 在里面屏幕上找到当前根卷vol-1234abcd1234abcd并从菜单中选择分离卷

      • 做一个快照的音量,以防万一。
    5. 现在与您有权访问的新 EC2 实例相同的卷。

    6. SSH到新实例并sudo su -获取root特权。

    7. 网络服务器卷,它可能是/dev/sdf1/dev/xvdb1- 检查dmesg | tail -n10以获取有关磁盘名称的提示。

      [root@ip-... ~] # mount /dev/xvdb1 /mnt
      
    8. 将内容复制/home/ec2-user/.ssh/authorized_keys/mnt/home/ec2-user/.ssh/authorized_keys- 确保文件权限和所有权仍然与原来相同!

      [root@ip... #] cat /home/ec2-user/.ssh/authorized_keys > /mnt/home/ec2-user/.ssh/authorized_keys
      
      • 同时你可能想要复印您的内容WordPress 网站数据库文件(如果数据库位于同一个实例上)。
    9. umount /mnt从 shell 然后分离来自 AWS 控制台的卷。

    10. 现在它回到根体积到旧的网络服务器实例。

      • 请注意根体积名称不会出现在菜单中!只需写下您在上面第 1 步中记下的内容,例如/dev/xvda/dev/sda1
    11. 开始实例。

如果出错了,请按照以下方法操作从快照恢复根文件系统按照上面第 4 步所述。

那就行了。希望有帮助 :)

相关内容