使用EBS删除AWS EC2实例的密钥对

我有一个使用EBS的AWS EC2实例,我想停止使用当前的私钥,并使用新的私钥。 据我所知,只是删除AWS控制台上的密钥对,只是删除公钥,并不阻止通过SSH使用(旧)私钥访问实例。

我尝试了一个解决方法( 详细在这里 ),但我意识到这并不妨碍使用旧的私钥。

有没有办法继续使用这个实例,并防止使用旧的私钥,并发出一个新的,而不必创build一个新的实例,并重新安装一切? 你可以进入Linux和SSH并手动删除对特定键的支持吗?

我可以根据需要提供有关实例configuration的详细信息。

据我所知,出现在AWS控制台面板上的EC2密钥对仅用于初始化EC2实例,授予您使用提供的密钥对初始访问它们的权限。 因此,在AWS控制台面板上删除它们不会对现有实例产生影响。

为了防止使用旧的私钥 ,需要编辑远程EC2实例上的.ssh/authorized_keys文件,删除相应的条目,即EC2密钥对的公钥。

请记住将新公钥添加到authrozied_keys文件中,并在删除旧文件之前对其进行testing,否则可能会被locking在EC2实例之外。

要发行新的密钥对 ,请在本地Linux机器上使用ssh-keygen命令,这是在没有参数的情况下调用时的交互式程序。

并使用ssh-copy-id自动将您的新密钥应用于您的实例。

如果您使用的是Linux,则EC2就像其他Linux安装一样,所以您只需从authorized_keys文件中删除旧密钥,并从.ssh文件夹和AWS控制台删除.ssh ,以确保它不会回来。

如果我没有记错,Web控制台中的安全密钥会生成新实例使用的第一个密钥, 提供对EC2 API的访问(使用工具或其他方式),但删除它们并不会将它们从实例中删除。