Amazon ec2 在AmazonEC2上,是否可以将密钥对重新分配给已经运行的实例?

Amazon ec2 在AmazonEC2上,是否可以将密钥对重新分配给已经运行的实例?,amazon-ec2,Amazon Ec2,在AmazonEC2上,是否可以将密钥对重新分配给已经运行的实例 我有一个特定的密钥对的问题,我想知道是否有一种方法来修复它重新分配 谢谢我们能想到的最好的解决方案是使用新的密钥对从该AMI启动一个新实例 我们启动的每个实例都基于一个定制的AMI,我们出于这个原因和许多其他原因维护这个AMI 我很想知道是否有人有更好的方法。可能。。。根据我在几个例子中所做的猜测: 使用ssh登录实例。如果这就是问题所在,那么你就陷入了困境 SFTP从新密钥对中提取公钥,并将其放入.ssh授权密钥中 重新启动ss

在AmazonEC2上,是否可以将密钥对重新分配给已经运行的实例

我有一个特定的密钥对的问题,我想知道是否有一种方法来修复它重新分配


谢谢

我们能想到的最好的解决方案是使用新的密钥对从该AMI启动一个新实例

我们启动的每个实例都基于一个定制的AMI,我们出于这个原因和许多其他原因维护这个AMI


我很想知道是否有人有更好的方法。

可能。。。根据我在几个例子中所做的猜测:

  • 使用ssh登录实例。如果这就是问题所在,那么你就陷入了困境
  • SFTP从新密钥对中提取公钥,并将其放入.ssh授权密钥中
  • 重新启动sshd
  • 现在,尝试使用与您放置的公钥匹配的私钥进行访问


    但我担心你遇到的问题是,当AWS安装好的一对已经坏了的时候,你就要进去了。没有帮助。

    如果您使用的是linux服务器,您可以分离磁盘并将其装载到另一个实例上,以找出问题所在

    首先关闭问题服务器。记下设备名称(可能是/dev/sda1)并分离磁盘

    然后使用新密钥对创建一个新实例(我们称之为rescue实例),并将分离的磁盘作为附加磁盘连接(不要替换rescue实例的磁盘)

    然后使用ssh登录到rescue实例并装载磁盘。在新安装的disks home文件夹的主用户帐户中,有一个名为.ssh的文件夹,其中包含一个文件authorized_key(/mnt/home/ubuntu/.ssh/authorized_key)

    授权密钥文件可以包含多个公钥,每个公钥位于其自己的行上。检查.ssh文件夹和父文件夹的权限,这两个文件夹都应该只允许所有者写入。我认为团体和世界需要阅读权限。.ssh中的任何私钥都应该具有600权限(用户只读和写)

    它包含原始密钥对中的公钥。将其替换为新的公钥(或使用新公钥添加新行),然后关闭rescue实例,分离磁盘并使用原始设备名称(可能是/dev/sda1)将其连接到问题实例


    启动后,您应该能够使用新密钥对中的私钥登录。

    如何为实例刻录AMI?这是否也捕获了所有数据?请参阅,了解如何创建您自己的AMI。这也是我们所做的…唯一困难的是,我们的Amazon服务器需要与我们数据中心中的物理服务器进行通信,因此这有点棘手,因为防火墙需要主机名和mac地址才能允许它进入…这些在每次启动时都会发生变化,即使您如果我可以通过API获得这些信息,我从来没有找到一种方法可以通过这些指令以编程方式攻击数据中心防火墙。我最终使用API完成所有操作,然后使用powershell脚本重命名并重新启动计算机,使其与我们的防火墙允许值相匹配。可能重复