如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
我的问题是,我尝试使用IP而不是公共DNS。然后我尝试了公共DNS和它的解决
其他回答
下载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
我注意到,当由Elastic Beanstalk管理时,您可以更改活动的EC2密钥对。2 .在“Elastic Beanstalk > Configuration > Security”下的“EC2密钥对”下拉框中选择新密钥。你会看到这条消息询问你是否确定:
EC2KeyName:对选项EC2KeyName设置的更改将不会生效 立即。您现有的每个EC2实例都将被替换 届时,您的新设置将生效。
当我这样做时,我的实例已经终止了。然后开始,结束,再开始。显然,“替换”意味着终止并创建一个新实例。如果您已经修改了引导卷,那么首先创建一个AMI,然后在相同的Elastic Beanstalk > Configuration > Instances表单中指定这个AMI作为自定义AMI ID。这也会对替换EC2实例发出警告。
在修改了EC2密钥对和Custom AMI ID并看到有关这两者的警告之后,单击Save继续。
请记住,当重新创建实例时,IP地址会发生变化,因此您需要从EC2控制台检索一个新的IP地址,以便在通过SSH连接时使用。
如果您无法登录VM并删除了ssh密钥,您也可以使用以下步骤更改ec2的密钥对。 一步一步来 1)停止你的ec2实例。 2)对虚拟机和存储进行快照。 3)创建一个新的虚拟机,同时创建它选择您的快照,并从您的快照创建虚拟机。 4)在创建虚拟机时下载您的密码对。 5)一旦你的虚拟机UP,你可以ssh一个新的密钥对,你的数据也会回来。
“authorized_keys”中的“SSH Public Key”不需要旋转根设备,也不需要修改。为此,可以利用userdata将ssh密钥添加到任何实例。为此,首先需要使用AWS控制台或ssh-keygen创建一个新的KeyPair。
ssh-keygen -f YOURKEY.pem -y
这将为您的新SSH KeyPair生成公钥,复制此公钥并在下面的脚本中使用它。
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xigPPA/BAjDPJFflqNuJt5QY5IBeBwkVoow/uBJ8Rorke/GT4KMHJ3Ap2HjsvjYrkQaKANFDfqrizCmb5PfAovUjojvU1M8jYcjkwPG6hIcAXrD5yXdNcZkE7hGK4qf2BRY57E3s25Ay3zKjvdMaTplbJ4yfM0UAccmhKw/SmH0osFhkvQp/wVDzo0PyLErnuLQ5UoMAIYI6TUpOjmTOX9OI/k/zUHOKjHNJ1cFBdpnLTLdsUbvIJbmJ6oxjSrOSTuc5mk7M8HHOJQ9JITGb5LvJgJ9Bcd8gayTXo58BukbkwAX7WsqCmac4OXMNoMOpZ1Cj6BVOOjhluOgYZbLr" >> /home/hardeep/.ssh/authorized_keys
--//
重新启动后,计算机将拥有指定的SSH发布密钥。 请在第一次重启后删除用户数据。阅读更多关于启动时的用户数据。
这个问题有两种情况:-
1)你没有权限访问。pem文件,这就是为什么你想创建一个新的文件。
2)您拥有.pem文件的访问权限,但您只是想更改或创建一个新的.pem文件,以解决某些漏洞或安全问题。
所以如果你的钥匙丢了,你可以向上滚动查看其他答案。但是,如果您只是为了安全目的而更改您的.pem文件,请遵循以下步骤:-
1)进入AWS控制台登录,从密钥对创建一个新的.pem文件 那边的区域。它会自动下载。pem文件到 你的电脑 2)修改权限到400如果你使用Linux/ubuntu点击下面 命令
chmod 400 yournewfile.pem
3)在本地生成新下载文件的RSA
ssh-keygen -f yournewfile.pem -y
4)从这里复制RSA代码 5)现在SSH到您的实例通过之前的。pem文件
ssh -i oldpemfileName.pem username@ipaddress
sudo vim ~/.ssh/authorized_keys
6)给1 - 2行空间,并粘贴复制的新文件的RSA 然后保存文件 7)现在您的新.pem文件与正在运行的实例链接 8)如果你想禁用之前的.pem文件访问,那么只需编辑即可 的
sudo vim ~/.ssh/authorized_keys
文件,并从这里删除或更改之前的RSA。
注意:-小心删除,以便新创建的RSA不会被更改。
通过这种方式,您可以将新的.pem文件与正在运行的实例更改/连接。
出于安全考虑,您可以撤销对先前生成的.pem文件的访问权。
希望对大家有所帮助!
推荐文章
- 通过SSH使用Eclipse完成远程项目
- 如何强制从另一个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?