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

相關文章
相關標籤/搜索