AWS Key Pair 和EC2

学习AWS EC2 的第一件事情通常都是建立一个新的实例,而后最后他会要求用户建立一个Key Pair,而后经过这个Key Pair来进行SSH的链接。安全

AWS Key Pair 和EC2

他的本质实际上是建立了一个公钥/私钥对以后,把公钥保留在EC2的实例上,而后用户下载私钥。系统建立的Key Pair 咱们能够在EC2旁边的Key Pairs 里面找到。ssh

AWS Key Pair 和EC2

咱们也能够本身建立以后,手动上传Public Key的 BASE64 的内容。手动建立的话 Linux/OSX 能够直接用 openssl-gen rsa 2048 的命令,Windows能够用 PuttyGen的工具。ide

AWS Key Pair 和EC2

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

首先链接一个当前的EC2 实例, 这里我是用的Windows Subsystem for Linux, 因此须要加sudo执行学习

AWS Key Pair 和EC2

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

AWS Key Pair 和EC2

另一种方式查看咱们的公钥信息能够经过AWS EC2的meta data进行查询。全部的metadata 都保留在 http://169.254.169.254/latest/meta-data 里面。能够看见他后面还有各类各样的目录保存相关信息。blog

AWS Key Pair 和EC2

咱们能够一层一层的找下去,若是忘记名字,他会提示有哪些可选项,最后找到咱们的公钥信息,和上面的文本内容是一致的。
AWS Key Pair 和EC2ssl

接下来,建立一个公钥/私钥对,能够经过 ssh-keygen这个命令来建立get

AWS Key Pair 和EC2

以后,咱们把公钥的内容添加到已有的authorization_keys 文件里面。 能够看见,他如今有两个公钥的信息了,一个是经过AWS建立的,一个是我刚刚手动建立的
AWS Key Pair 和EC2openssl

我再建立一个新的S3 Bucket,把个人私钥拷贝进去
AWS Key Pair 和EC2

下载这个私钥到个人电脑上,而后再尝试经过这个私钥链接个人EC2,成功!!

AWS Key Pair 和EC2

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

AWS Key Pair 和EC2

结果是绝不受影响,我仍然能够经过个人私钥进行SSH链接

AWS Key Pair 和EC2

由于个人公钥信息仍然在那里没有受到任何影响
AWS Key Pair 和EC2

metadata也不受影响

AWS Key Pair 和EC2

最后看看,若是说,我不当心丢失了个人私钥,那我该如何访问个人EC2 实例? 答案是建立一个镜像,而后从新生成一个EC2。下面看看如何操做。

首先建立一个镜像
AWS Key Pair 和EC2

接下来经过这个镜像咱们再建立一个一样的EC2,建立的最后,他会提示咱们建立新的Key Pairs

AWS Key Pair 和EC2

咱们有2个实例了
AWS Key Pair 和EC2

而后经过新的Key 咱们能够SSH到这个新的EC2实例中。

AWS Key Pair 和EC2

而后查看一下咱们的authorization_keys 文件。 当当!咱们能够看见,新的公钥信息并无覆盖以前的信息,他只是继续添加内容而已。

AWS Key Pair 和EC2

安全起见,咱们应该删掉以前的公钥信息
AWS Key Pair 和EC2

相关文章
相关标签/搜索