当您有权访问 EC2 实例时更改 EC2 pem 文件密钥对

fre*_*cks 2 ssh amazon-ec2 amazon-web-services

感谢您的时间。

我有一个 EC2 实例,但出于安全原因,我需要更改 .ssh/authorized_keys 中关联的 pem 文件。我确实知道公共 pem 文件会进入authorized_keys。

我不想将 ec2 实例的卷挂载到新实例。我正在考虑作为最后一个选择,因为我确实可以访问 EC2 实例。

如何才能做到这一点?

我已经尝试过:这篇文章Change keypair for ec2 instance是 Pat Mcb 的答案,但没有运气。

下载 AWS pem 后运行此命令。

ssh-keygen -f YOURKEY.pem -y 然后将输出转储到authorized_keys中。

或者将 pem 文件复制到您的 AWS 实例并执行以下命令

chmod 600 YOURKEY.pem 然后

ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys

但这对我不起作用。如果我完全按照它下载 aws 密钥对密钥,并按照说明在 ssh 进入实例时复制密钥,当我执行 ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys 时,它会要求密码(从来不需要输入密码)

我正在做的事情如下。我使用 ssh-keygen newpem.pem 创建一个新密钥

我将 .pub 文件复制到 .ssh/authorized_keys 中

有人可以解释我做错了什么吗?请注意,authorized_keys 文件具有正确的权限。

小智 8

似乎您想弃用旧密钥并使用新密钥。这些步骤可能会帮助您 -

  1. 使用 aws 控制台创建新的密钥对并将其下载到您的系统上。

  2. 使用命令“ssh-keygen -y”从私钥(.pem)文件中检索公钥

  3. 使用旧密钥通过 SSH 登录到实例。

  4. 一旦您有权访问实例,请将您在步骤 2 中获得的公钥添加到 “~/.ssh/authorized_keys”文件中,然后保存该文件。

  5. 注销实例,然后尝试使用新密钥访问实例。

希望能帮助到你。谢谢 !