MENU

AWS更换EC2密钥

2018 年 10 月 15 日 • 阅读: 14654 • aws亚马逊

最近遇到一些诡异的问题,因此涉及到更改服务器密钥。

1.在aws后台生成并下载密钥,然后将密钥保存到自己服务器。
很多小伙伴不会生成生成密钥,特意新补充一下

使用 Amazon EC2 创建密钥对
您可以使用 Amazon EC2 控制台或命令行创建密钥对。创建密钥对之后,您可以在启动实例时指定它。 您还可以向运行的实例添加密钥对以便使其他用户可以连接到该实例。有关更多信息,请参阅添加或替换实例的密钥对。

使用 Amazon EC2 控制台创建密钥对

打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/。

在导航窗格中的 NETWORK & SECURITY 下,选择 Key Pairs。

注意

导航窗格位于 Amazon EC2 控制台的左侧。如果您看不到窗格,它可能被最小化了;请选择箭头展开该窗格。

选择 Create Key Pair。

对于 Key pair name (密钥对名称),为新密钥对输入一个名称,然后选择 Create (创建)。

您的浏览器会自动下载私有密钥文件。基本文件名是您为密钥对指定的名称,文件扩展名为 .pem。将私有密钥文件保存在安全位置。

重要

这是您保存私有密钥文件的唯一机会。当您启动实例时,您将需要提供密钥对的名称;当您每次连接到实例时,您将需要提供相应的私有密钥。

如果您将在 Mac 或 Linux 计算机上使用 SSH 客户端连接到您的 Linux 实例,请使用以下命令设置您私有密钥文件的权限,以确保只有您可以读取它。

chmod 400 my-key-pair.pem
如果不设置这些权限,则无法使用此密钥对连接到实例

2.执行ssh-keygen -y,复制密钥路径,回车得到public key,例如/home/ubuntu/.ssh/houtai.pem

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCMAS8mviirg23XvhyGzydp0VlP/fyfuhsHKMECZydc5ewytvTq0mqYTfjKBS++PeBpEL1Zx/ilEYCmgY6omTrIMtG8s1jf/lAk0l9++f2ldp/w2U86seARyRxVEePU7YCnbofqgtGJJDASDHNiEbshXQ6M49nUsE6tfETG3sFl+XDeva0lkNkssA4JDU+eivPRGma3XcBAXvsUsD8VkKQJvudrpJDSjjnsddYOVd2Wcrcj5Li8MmLvIkEX1ttsTT6O6oUfEtCdpVi4tCwTXV5ydU8UtjJDSGDFSJgbY9Unve4LgjgoWF677FdUpvVFD1NPoLH

如果该命令失败,如下报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/ubuntu/.ssh/houtai.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/ubuntu/.ssh/houtai.pem": bad permissions

运行以下命令以确保更改对您的密钥对文件的权限,设置为只有自己才能查看该文件:

chmod 400 houtai.pem

3.利用以前的密钥登录服务器,将上面第二步的public key粘贴到~/.ssh/authorized_keys
或者相应登录用户的.ssh目录(我的是/home/ubuntu/.ssh/authorized_keys)
然后将旧的public key注释或者删除。

4.然后你就可以利用新的密钥文件(.pem后缀文件)登录服务器了
例如:ssh -i "test.pem" ubuntu@192.168.1.1

    1、Create a new key pair using AWS EC2 console or a third party tool.
    2、Retrieve the public key from new key pair.
    3、Connect to the instance using the existing private key.
    4、Using text editor to open .ssh/authorized_keys, paste the public key of new key pair into the authorized_keys file.
    5、(Optional) Delete the public key information of the original key pair in the authorized_keys file.

总结下来就下面的这几条命令

解释一下:进入秘钥存放目录,给公钥文件加权限,启动秘钥生成工具,输入公钥文件位置、此时会自动生成秘钥,将生成秘钥放到原来的秘钥文件中即可

cd /home/ubuntu/.ssh/
chmod 400 qianduan.pem
ssh-keygen -y
/home/ubuntu/.ssh/qianduan.pem
vim authorized_keys

参照:
新加 生成密钥
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-key-pair
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#retrieving-the-public-key

兼总条贯 知至知终

最后编辑于: 2019 年 12 月 14 日
添加新评论

已有 3 条评论
  1. 钱会博

    垃圾,查看公钥的指令错了

    1. 茶褪色 茶褪色

      @钱会博我只写了查看公钥的路径,貌似没写命令,比较基础,直接cat就可以看的@(汗)

  2. 茶褪色 茶褪色

    感谢博主,很实用