首页 > 其他 > 详细

AWS Key Pair 和EC2

时间:2021-01-06 21:54:28      阅读:40      评论:0      收藏:0      [点我收藏+]
学习AWS EC2 的第一件事情一般都是创建一个新的实例,然后最后他会要求用户创建一个Key Pair,然后通过这个Key Pair来进行SSH的连接。

技术分享图片

他的本质其实是创建了一个公钥/私钥对之后,把公钥保留在EC2的实例上,然后用户下载私钥。系统创建的Key Pair 我们可以在EC2旁边的Key Pairs 里面找到。

技术分享图片

我们也可以自己创建之后,手动上传Public Key的 BASE64 的内容。手动创建的话 Linux/OSX 可以直接用 openssl-gen rsa 2048 的命令,Windows可以用 PuttyGen的工具。

技术分享图片

下面我们看看一个有趣的例子。如果我们SSH进入一个现有的EC2 环境中,手动又添加了一个公钥的信息,会发生什么。

首先连接一个当前的EC2 实例, 这里我是用的Windows Subsystem for Linux, 所以需要加sudo执行

技术分享图片

SSH进入之后,进入 .ssh的隐藏目录,我们的公钥文件就保存在authorized_keys里面

技术分享图片

另外一种方式查看我们的公钥信息可以通过AWS EC2的meta data进行查询。所有的metadata 都保留在 http://169.254.169.254/latest/meta-data 里面。可以看见他后面还有各种各样的目录保存相关信息。

技术分享图片

我们可以一层一层的找下去,如果忘记名字,他会提示有哪些可选项,最后找到我们的公钥信息,和上面的文本内容是一致的。
技术分享图片

接下来,创建一个公钥/私钥对,可以通过 ssh-keygen这个命令来创建

技术分享图片

之后,我们把公钥的内容添加到已有的authorization_keys 文件里面。 可以看见,他现在有两个公钥的信息了,一个是通过AWS创建的,一个是我刚刚手动创建的
技术分享图片

我再创建一个新的S3 Bucket,把我的私钥拷贝进去
技术分享图片

下载这个私钥到我的电脑上,然后再尝试通过这个私钥连接我的EC2,成功!!

技术分享图片

接下来我们试试删除掉我们在EC2 KeyPairs里面的公钥,看看会发生什么

技术分享图片

结果是毫不受影响,我仍然可以通过我的私钥进行SSH连接

技术分享图片

因为我的公钥信息仍然在那里没有受到任何影响
技术分享图片

metadata也不受影响

技术分享图片

最后看看,如果说,我不小心丢失了我的私钥,那我该如何访问我的EC2 实例? 答案是创建一个镜像,然后重新生成一个EC2。下面看看如何操作。

首先创建一个镜像
技术分享图片

接下来通过这个镜像我们再创建一个同样的EC2,创建的最后,他会提示我们创建新的Key Pairs

技术分享图片

我们有2个实例了
技术分享图片

然后通过新的Key 我们可以SSH到这个新的EC2实例中。

技术分享图片

然后查看一下我们的authorization_keys 文件。 当当!我们可以看见,新的公钥信息并没有覆盖之前的信息,他只是继续添加内容而已。

技术分享图片

安全起见,我们应该删掉之前的公钥信息
技术分享图片

AWS Key Pair 和EC2

原文:https://blog.51cto.com/beanxyz/2583193

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!