2014-10-10 37 views
0

我在我的Amazone ec2控制台中有2个实例。让它是Inst1Inst2亚马逊EC2密钥对自动更改

我为Inst2创建了一个图像(AMI),我用新的密钥对将该图像作为新实例启动。 但随着新创建的我无法通过ssh登录到实例。 所以我停止了这个例子。

但之后Inst1的密钥对更改为Inst2的密钥对。 (意味着Inst1Inst2现在具有相同的密钥对)

在amazon常见问题我检查了一下,但他们明确提到我们不能在不停止该实例的情况下为一个实例提供密钥对。但在我的情况下,Inst1的密钥对在没有重新启动并且不知情的情况下发生了变化。

这两个实例具有相同的密钥对是不公平的。 Inst1是一个关键的问题,我无法停止该实例。

我该怎么办?

密钥对怎么可能被改变?

+0

当你说密钥对改变了,你指的是针对实例列出的密钥对的“名称”,还是只是用于登录实例的密钥对? (假设在authorized_keys文件中可以重写密钥对)。 – 2014-11-26 03:24:11

+0

对于该实例,密钥对名称已更改。 – 2014-11-28 05:03:37

回答

1

Keypairs用于授予对Amazon EC2实例的访问权限。它们是公共/私人密钥对,通常由EC2随机生成,但现有密钥对(或更具体而言,密钥对的公共一半)可以导入到EC2中。

它们被用作如下:

  • 的Windows:当进行加密使用的密钥对的公共部分从一个标准的Windows AMI,一个名为Ec2Config实用随机生成的管理员密码,启动Windows ,并通过系统日志将其传回。用户必须使用他们的私钥解密。然后他们可以登录到Windows。
  • Linux:从标准Linux AMI启动Linux时,密钥对的公共一半被复制到.ssh/authorized_keys。用户可以通过提供他们的私钥通过ssh登录。

(以“标准”的AMI的参考是故意的 - 其他人创建的AMI不一定有这些工具安装)

在这两种情况下,建议用户再修改它们的实例到使用他们正常的安全标准。例如,Windows用户应该更改管理员密码,或者最好将实例附加到Active Directory域。 Linux用户应该创建额外的用户并安装他们的标准密钥对。

在EC2实例初始启动后,不应该继续使用密钥对。用户应该使用自己的密码/密钥对。继续使用与实例启动时最初创建的相同的密码/密钥对是不好的做法。

要回答你的问题...

实例上的密钥对不会更改(实际上不能更改)。密钥对的名称被列为实例的属性,因此可以识别使用的密钥对。

但是,Windows用户可以更改管理员密码,Linux用户可以替换.ssh/authorized_keys文件的内容。因此,用于登录到实例的密码/密钥对可能会更改,但针对实例列出的密钥对(在第一次引导期间使用)不会更改。