如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
这个答案是有用的情况下,您不再有SSH访问现有的服务器(即您丢失了您的私钥)。
如果您仍然拥有SSH访问权限,请使用下面的答案之一。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
以下是我所做的,感谢Eric Hammond的博客文章:
停止正在运行的EC2实例 分离它的/dev/xvda1卷(我们称它为卷A)—请参见这里 开始新的t1。microec2实例,使用我的新密钥对。确保在相同的子网中创建它,否则将不得不终止实例并重新创建它。-请看这里 将卷A挂载到新的微实例,如/dev/xvdf(或/dev/sdf) SSH到新的微实例,将卷A挂载到/mnt/tmp
$ sudo mkdir /mnt/tmp; sudo mount /dev/xvdf1 /mnt/tmp
~ /副本。Ssh /authorized_keys到/mnt/tmp/home/ubuntu/.ssh/authorized_keys 注销 终止微实例 从它分离卷A 将卷A挂回主实例为/dev/xvda 启动主实例 像以前一样登录,使用新的.pem文件
就是这样。
其他回答
只有当您可以访问想要更改/添加密钥的实例时,这才有效。 您可以创建新的密钥对。或者,如果您已经拥有密钥对,那么您可以将新密钥对的公钥粘贴到实例上的authorized_keys文件中。
vim . ssh / authorized_keys
现在您可以使用该对的私钥并登录。
希望这能有所帮助。
如果遵循以下步骤,将节省大量时间,也不需要停止正在运行的实例。
开始新的t1。microec2实例,使用新的密钥对。确保在相同的子网中创建它,否则将不得不终止实例并重新创建它。 SSH到新的微实例,复制~/的内容。Ssh /authorized_keys在计算机的某处。 用旧的ssh密钥登录主实例。 从点2复制并替换文件内容到~/.ssh/authorized_keys 现在您只需使用新密钥即可再次登录。旧钥匙不能用了。
就是这样。享受:)
如果您正在使用ElasticBeanstalk平台,您可以通过执行以下命令更改密钥:
弹性豆茎面板 配置 实例(右上方的齿轮) EC2密钥对
这将终止当前实例,并创建一个具有所选键/设置的新实例。
我尝试了这种方法,过了一段时间后,我能够让它工作。缺乏实际的命令让它很困难,但我想出了办法。然而,不久之后发现并测试了更简单的方法:
将实例保存为AMI(不管是否重启,我建议重启)。这只有在EBS支持的情况下才能奏效。 然后,只需从这个AMI启动一个实例并分配新的Keyfile。 将弹性IP(如果适用)转移到新实例,就完成了。
最简单的解决方法是复制的内容
~/.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到Amazon EC2实例时
- 如何设置ssh超时时间?
- 如何在SSH上使用Sublime
- 使用boto3连接CloudFront时,如何选择AWS配置文件
- 使用Git GUI或SSH -keygen的SSH私钥权限太开放
- 在gitlab上被拒绝许可(公钥)
- 使用脚本自动输入SSH密码
- 在亚马逊云服务器上设置FTP
- 使用scp将文件复制到Amazon EC2实例?
- 无法将图像推送到Amazon ECR -由于“没有基本的身份验证凭据”而失败
- 如何测试AWS命令行工具的凭据
- 在Linux中是否有办法继续中断的scp(安全拷贝)命令进程?
- 为什么SSH远程命令得到的环境变量比手动运行时少?
- 将Keypair添加到现有的EC2实例中
- 如何解决“sign_and_send_pubkey:签名失败:代理拒绝操作”?