EC2“导入密钥对”与将公用密钥添加到“ authorized_keys”相同吗?

时间:2019-12-18 20:31:45

标签: amazon-web-services amazon-ec2 ssh

我正在尝试使自己熟悉AWS密钥对功能。

我已将Cloud9生成的公钥手动添加到EC2服务器上的.ssh/authorized_keys文件中。我可以查看它,并使用Cloud9 IDE成功登录到我的实例。 但是,当我查看实例的密钥对时,此密钥不会显示。

同时,我创建了一个测试密钥对,通过控制台上的Import key pair功能将公钥导入到我的实例中,并为其命名。它顺利通过了。 但是,当我查看我的authorized_keys文件时,此新导入的密钥不存在!

我怀疑手动将公用密钥添加到authorized_keys文件中与控制台Import key pair功能完全不同。

这是怎么回事?

1 个答案:

答案 0 :(得分:2)

正确,它们不是一回事。

当您使用AWS控制台导入密钥对时,该活动未与EC2实例相关联。您正在做的是导入公钥材料,给它命名,然后要求AWS将其存储在数据库中以备将来使用。在运行EC2实例方面,它没有任何改变。

下次启动EC2实例时,可以选择此新密钥对,它将由EC2注入正在运行的EC2实例上的~/.ssh/authorized_keys中。这样,您就可以通过SSH进入实例,因为您拥有匹配的私钥(拥有它,AWS没有它)。

此时,您可以从AWS删除密钥对,这对正在运行的EC2实例或SSH进入该实例的能力没有影响。当然,它将 阻止您使用相同的密钥对启动第二个EC2实例。

如果您通过SSH到EC2实例并将新的公共密钥手动注入到~/.ssh/authorized_keys中,则可以立即使用相应的私钥通过SSH到该实例。此时,您自己一个人来手动管理SSH密钥。