如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。
当前回答
替代解决方案。如果你有唯一的访问服务器。在这种情况下,不要从AWS控制台删除pem文件。只需删除pem访问密钥从sudo纳米~/。Ssh / authized_keys,并添加系统公共Ssh密钥。现在您可以访问ssh user@i.p
其他回答
Yegor256的回答对我来说很有用,但我想我只是添加一些评论来帮助那些不太擅长挂载驱动器的人(比如我!):
Amazon允许您在附加卷时选择要如何命名它。您必须使用从/dev/sda到/dev/sdp范围内的名称 新版本的Ubuntu会将你放入的内容重命名为/dev/xvd(x)或类似的名称。
所以对我来说,我选择了/dev/sdp作为AWS中的挂载名称,然后我登录到服务器,发现Ubuntu已经将我的卷重命名为/dev/xvdp1)。然后我必须安装驱动器-对我来说,我必须这样做:
mount -t ext4 xvdp1 /mnt/tmp
在跳过所有这些步骤之后,我可以在/mnt/tmp目录下访问我的文件
谢谢你们的建议。当我需要休息钥匙对时,我一定会把它们记在心里。 然而,出于效率和懒惰的考虑,我想出了另一个办法:
创建新的密钥对并下载凭证 右键单击实例>创建AMI一旦完成 终止实例(或者只是停止它,直到您确定可以从新的闪亮AMI创建另一个实例) 从刚才创建的AMI启动一个新的EC2实例,并指定在上面步骤(1)中创建的新密钥对。
希望这能对你有用,为你节省一些时间,并尽量减少你从这样的东西得到的白发数量:)
下载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
我已经尝试了以下步骤,它在没有停止实例的情况下工作。我的需求是-因为我已经更改了客户端机器,旧的.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。
最简单的解决方法是复制的内容
~/.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后立即执行命令
- 我如何知道我在S3桶中存储了多少对象?
- S3 Bucket操作不应用于任何资源
- 将AWS凭证传递给Docker容器的最佳方法是什么?
- 当权限为S3时,AccessDenied for ListObjects for S3 bucket:*
- 电子邮件地址未验证(AWS SES)
- ssh -L转发多个端口
- 使用Boto3将S3对象作为字符串打开
- 从PKCS12文件中提取公钥/私钥,供以后在SSH-PK-Authentication中使用
- 在python shell中按方向键时看到转义字符
- 如何忽略ansible SSH的真实性检查?
- 如何移除SSH密钥?
- AWS VPC - Internet网关vs. NAT
- 如何在AWS Lambda中加载npm模块?
- 亚马逊S3 -如何修复“我们计算的请求签名与签名不匹配”错误?