如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
如果您无法登录VM并删除了ssh密钥,您也可以使用以下步骤更改ec2的密钥对。 一步一步来 1)停止你的ec2实例。 2)对虚拟机和存储进行快照。 3)创建一个新的虚拟机,同时创建它选择您的快照,并从您的快照创建虚拟机。 4)在创建虚拟机时下载您的密码对。 5)一旦你的虚拟机UP,你可以ssh一个新的密钥对,你的数据也会回来。
其他回答
你能做什么…
创建一个新的实例配置文件/角色,其中附加AmazonEC2RoleForSSM策略。 将此实例概要文件附加到实例。 使用SSM会话管理器登录到实例。 在本地机器上使用keygen创建密钥对。 使用SSM会话将该密钥的公共部分推到实例上。 利润。
我尝试了这种方法,过了一段时间后,我能够让它工作。缺乏实际的命令让它很困难,但我想出了办法。然而,不久之后发现并测试了更简单的方法:
将实例保存为AMI(不管是否重启,我建议重启)。这只有在EBS支持的情况下才能奏效。 然后,只需从这个AMI启动一个实例并分配新的Keyfile。 将弹性IP(如果适用)转移到新实例,就完成了。
谢谢你们的建议。当我需要休息钥匙对时,我一定会把它们记在心里。 然而,出于效率和懒惰的考虑,我想出了另一个办法:
创建新的密钥对并下载凭证 右键单击实例>创建AMI一旦完成 终止实例(或者只是停止它,直到您确定可以从新的闪亮AMI创建另一个实例) 从刚才创建的AMI启动一个新的EC2实例,并指定在上面步骤(1)中创建的新密钥对。
希望这能对你有用,为你节省一些时间,并尽量减少你从这样的东西得到的白发数量:)
您有几个选项可以替换EC2实例的密钥。
您可以在.ssh/authorized_keys文件中手动替换密钥。但是,这需要您实际访问实例或卷(如果未加密)。 您可以使用AWS系统管理器。这需要安装代理。
由于第一个选项可以很容易地在答案中或在您选择的搜索引擎中找到,所以我想重点介绍系统管理器。
打开服务系统管理器 单击左侧的Automation。 单击执行自动化 选择AWSSupport-TroubleshootSSH(通常在最后一页)
您可以在AWS官方文档中找到更多信息
最简单的解决方法是复制的内容
~/.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
推荐文章
- 如何强制从另一个SSH会话分离屏幕?
- com.jcraft.jsch.JSchException: UnknownHostKey
- 如何在Python中scp ?
- 在SSH会话中查找客户端的IP地址
- 拒绝访问;您需要(至少一个)SUPER特权来执行此操作
- 我如何使用通配符“cp”一组文件与AWS CLI
- 自定义SSH端口上的Git
- 我如何获得亚马逊的AWS_ACCESS_KEY_ID ?
- 如何使所有对象在AWS S3桶公共默认?
- Git显示“警告:永久添加到已知主机列表”
- 为什么git在Windows下记不住我的密码
- SSH端口转发~/。ssh /配置文件?
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 为什么我应该使用亚马逊Kinesis而不是SNS-SQS?
- 如何重命名AWS S3 Bucket