如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。


当前回答

这是为他们谁有两个不同的pem文件,并出于任何安全目的想要丢弃其中一个。假设我们想要丢弃1。pem

连接到服务器2,从~/.ssh/authorized_keys中复制ssh密钥 在另一个终端上连接服务器1,并将密钥粘贴到~/.ssh/authorized_keys中。现在您将有两个公共ssh密钥 现在,为了增强自信心,尝试使用2.pem连接服务器1。您将能够将服务器1与这两个1连接。Pem和2.pem 现在,注释1。Pem SSH,使用SSH -i连接。pem user@server1

其他回答

最简单的解决方法是复制的内容

~/.ssh/id_rsa.pub

到您的AWS实例的authorized_keys at

~/.ssh/authorized_keys

这将允许您ssh进入EC2实例,而无需为ssh命令指定pem文件。测试连接后,可以删除所有其他键。

如果你需要创建一个新的密钥来与其他人共享,你可以通过:

ssh-keygen -t rsa

这将创建私钥。Pem文件,你可以通过以下方式获取该文件的公钥:

ssh-keygen -f private_key.pem -y > public_key.pub

任何拥有private_key的人。Pem能够连接到

ssh user@host.com -i private_key.pem

替代解决方案。如果你有唯一的访问服务器。在这种情况下,不要从AWS控制台删除pem文件。只需删除pem访问密钥从sudo纳米~/。Ssh / authized_keys,并添加系统公共Ssh密钥。现在您可以访问ssh user@i.p

如果遵循以下步骤,将节省大量时间,也不需要停止正在运行的实例。

开始新的t1。microec2实例,使用新的密钥对。确保在相同的子网中创建它,否则将不得不终止实例并重新创建它。 SSH到新的微实例,复制~/的内容。Ssh /authorized_keys在计算机的某处。 用旧的ssh密钥登录主实例。 从点2复制并替换文件内容到~/.ssh/authorized_keys 现在您只需使用新密钥即可再次登录。旧钥匙不能用了。

就是这样。享受:)

一旦启动了实例,就无法在元数据级别上更改与该实例关联的密钥对,但是可以更改用于连接该实例的ssh密钥。

在大多数ami上都有一个启动过程,下载公共ssh密钥并将其安装在.ssh/authorized_keys文件中,以便您可以作为该用户使用相应的私有ssh密钥进行ssh登录。

如果您希望更改用于访问实例的ssh密钥,则需要编辑实例本身的authorized_keys文件并将其转换为新的ssh公钥。

authorized_keys文件位于您正在登录的用户的主目录下的.ssh子目录下。取决于你正在运行的AMI,它可能在以下情况之一:

/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys

编辑authorized_keys文件后,在断开用于编辑该文件的会话之前,总是使用不同的终端来确认您能够通过ssh登录到该实例。您不希望犯错误并将自己完全锁定在实例之外。

当您在考虑EC2上的ssh密钥对时,我建议您将自己的个人ssh公钥上传到EC2,而不是让Amazon为您生成密钥对。

这是我写的一篇文章:

上传个人ssh密钥到Amazon EC2 http://alestic.com/2010/10/ec2-ssh-keys

这只适用于您运行的新实例。

您有几个选项可以替换EC2实例的密钥。

您可以在.ssh/authorized_keys文件中手动替换密钥。但是,这需要您实际访问实例或卷(如果未加密)。 您可以使用AWS系统管理器。这需要安装代理。

由于第一个选项可以很容易地在答案中或在您选择的搜索引擎中找到,所以我想重点介绍系统管理器。

打开服务系统管理器 单击左侧的Automation。 单击执行自动化 选择AWSSupport-TroubleshootSSH(通常在最后一页)

您可以在AWS官方文档中找到更多信息