我正在尝试使自己熟悉AWS密钥对功能。
我已将Cloud9生成的公钥手动添加到EC2服务器上的.ssh/authorized_keys
文件中。我可以查看它,并使用Cloud9 IDE成功登录到我的实例。
但是,当我查看实例的密钥对时,此密钥不会显示。
同时,我创建了一个测试密钥对,通过控制台上的Import key pair
功能将公钥导入到我的实例中,并为其命名。它顺利通过了。
但是,当我查看我的authorized_keys
文件时,此新导入的密钥不存在!
我怀疑手动将公用密钥添加到authorized_keys
文件中与控制台Import key pair
功能完全不同。
这是怎么回事?
答案 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密钥。