如何重新访问正在运行的EC2实例?

我们拥有一个AWS账户,但我们不再与只能访问正在运行的EC2实例的开发人员联系。

重新启动实例可能是不可能的:就我们所知,closures实例可能会导致分配的IP发生更改。 此外,可能有需要手动启动的应用程序进程。 我们还不知道。

因此,问题是:鉴于我们拥有该账户并可以访问AWSpipe理界面,我们如何才能获得对我们正在运行的实例的root权限?

(到目前为止,我们已经学到了指向安装新的键集的权限,这些键集将允许访问新启动的实例。)

我不知道分配的IP更改有什么问题。 如果你使用一个亚马逊的静态IP,分配给给定的实例,那么它将无关紧要。 在重启实例后DNS仍然会parsing。

要控制机器并获得密码:首先,停止实例(不要终止!!!)。 然后,启动一个空白服务器(相同的操作系统)的另一个实例,然后附加不可访问的实例的硬盘驱动器,从他们可以挂载驱动器,并使用通常的方法恢复密码。 密码恢复后,卸下驱动器,再次启动实例,然后login。

我不相信你可以挂载另一个实例的驱动器,除非另一个实例closures。 所以,无论你做什么,这听起来都需要长达一个小时的停机时间。

  1. 拍摄实例的快照。
  2. 创build一个新的密钥对。
  3. 开始一个新的实例。
  4. SSH到它。
  5. 通过AWS控制台,将快照作为一个简单的卷在/ mnt处附加到新实例。
  6. 将必要的数据/configuration从/ mnt复制到新实例上的正确位置。
  7. testing。
  8. 将新实例设置为“实时”实例(分配静态IP并将其他系统指向该IP)
  9. closures旧的实例。
  10. 删除旧的密钥对。

我相信应该覆盖它。

获得对正在运行的实例的根访问权限的唯一方法是使用开发人员可能拥有的密钥。

据我所知,亚马逊并没有将密钥文件存储在任何地方。

目前的ec2控制台还有另外一个解决scheme(在亚马逊账户中)。 您可以select正在运行的实例并“创buildAMI”。 之后,您可以使用不同的ssh密钥运行该AMI以进行login。 不幸的是,目前的EC2工具来创build一个AMI将重新启动您的箱子拍快照。