如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
我已经尝试了以下步骤,它在没有停止实例的情况下工作。我的需求是-因为我已经更改了客户端机器,旧的.pem文件不允许我登录到ec2实例。
使用旧机器上的旧.pem文件登录到ec2实例。~ / . ssh / authorized_keys开放
你会在那个文件里看到你的旧钥匙。
ssh-keygen -f YOUR_PEM_FILE. shpem - y 它会生成一个密钥。将键附加到~/。Ssh /authorized_keys在步骤#1中打开。无需删除旧密钥。 从AWS控制台创建一个新的密钥对。把它存储在你的新机器里。将其重命名为旧的pem文件-原因是旧的pem文件仍然与AWS中的ec2实例相关联。
全部完成。
我可以从我的新客户端机器上登录到AWS ec2。
其他回答
我注意到,当由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连接时使用。
Yegor256的回答对我来说很有用,但我想我只是添加一些评论来帮助那些不太擅长挂载驱动器的人(比如我!):
Amazon允许您在附加卷时选择要如何命名它。您必须使用从/dev/sda到/dev/sdp范围内的名称 新版本的Ubuntu会将你放入的内容重命名为/dev/xvd(x)或类似的名称。
所以对我来说,我选择了/dev/sdp作为AWS中的挂载名称,然后我登录到服务器,发现Ubuntu已经将我的卷重命名为/dev/xvdp1)。然后我必须安装驱动器-对我来说,我必须这样做:
mount -t ext4 xvdp1 /mnt/tmp
在跳过所有这些步骤之后,我可以在/mnt/tmp目录下访问我的文件
替代解决方案。如果你有唯一的访问服务器。在这种情况下,不要从AWS控制台删除pem文件。只需删除pem访问密钥从sudo纳米~/。Ssh / authized_keys,并添加系统公共Ssh密钥。现在您可以访问ssh user@i.p
步骤:
创建新密钥,例如使用AWS控制台,PuTTY密钥生成器,或ssh-keygen 停止实例 设置实例用户数据以将公钥推送到服务器 启动实例
#cloud-config
cloud_final_modules:
- [once]
bootcmd:
- echo 'ssh-rsa AAAAB3Nz...' > /home/USERNAME/.ssh/authorized_keys
其中USERNAME是机器的预期用户名。可以从AWS获得默认用户名列表。
来自AWS的分步说明
这个问题有两种情况:-
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到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:签名失败:代理拒绝操作”?