從快照啟動的安全 Amazon EC2 執行個體 - Amazon Lightsail

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從快照啟動的安全 Amazon EC2 執行個體

Amazon Lightsail 和亞馬遜彈性運算雲端 (Amazon EC2) 使用公開金鑰加密技術來加密和解密登入資訊。公有金鑰加密法使用公有金鑰將密碼等資料加密,再由收件人使用私有金鑰將資料解密。公有金鑰和私有金鑰稱為金鑰對。

當您將 Linux 或 Unix Lightsail 執行個體匯出至 EC2 時,新的 EC2 執行個體將包含來自 Lightsail 服務的剩餘金鑰。基於安全最佳實務,您應該從執行個體移除未使用的金鑰。

若要改善 EC2 中從 Lightsail 快照建立的 Linux 或 Unix 執行個體的安全性,建議您在建立執行個體之後執行下列動作:

  • 如果您使用 Lightsail 預設金鑰連線至 Lightsail 中的來源實體,請移除並取代該按鍵。如果您使用自己的金鑰連線至執行個體,或在 Lightsail 主控台中為執行個體建立金鑰,則 Lightsail 預設金鑰不會出現在 Amazon EC2 執行個體中。

  • 移除 Lightsail 系統金鑰,也稱為lightsail_instance_ca.pub金鑰。Linux 和 Unix 執行個體上的這個金鑰可讓 Lightsail 瀏覽器型安全殼層用戶端進行連線。使用 Lightsail 主控台中的「建立 Amazon EC2 執行個體」頁面或 Lightsail API 建立 EC2 執行個體時,系統會自動移除lightsail_instance_ca.pub金鑰。

內容

使用 Amazon EC2 建立私有金鑰

使用 Amazon EC2 主控台建立新的金鑰對,您可以用來取代 Lightsail 預設 key pair。

使用 Amazon EC2 建立私有金鑰
  1. 登入 Amazon EC2 主控台

  2. 從左側導覽窗格選擇 Key Pairs (金鑰對)

  3. 選擇 Create key pair (建立金鑰對)

    Amazon EC2 主控台中的金鑰對。
  4. 將金鑰名稱輸入 Key pair name (金鑰對名稱) 文字方塊,接著選擇 Create (建立)

    新的私密金鑰會自動下載。記下私密金鑰儲存的位置。您會在本指南以下的使用 PuTTYgen 建立公開金鑰部分需要它來建立公開金鑰。

    在 Amazon EC2 主控台中建立金鑰對。

使用 PuTTYgen 建立公開金鑰

PuTTYgen 是一種工具,包含於 PuTTY。使用 PuTTYgen 產生公開金鑰文字,而您會在本指南稍後將其新增至執行個體。

注意

如需有關如何設定 PuTTY 以 Connect 到 Linux 或 Unix 執行個體的詳細資訊,請參閱連接至透過 Lightsail 快照建立的 Amazon EC2 Linux 或 Unix 執行個體。

若要使用 PuTTYgen 建立公開金鑰
  1. 啟動 PuTTYgen。

    例如,依序選擇 Windows Start (Windows 開始) 功能表、All Programs (所有程式)PuTTY (PuTTY)PuTTYgen (PuTTYgen)

    PuTTY 金鑰產生器。
  2. 選擇 Load (載入)。

    根據預設,PuTTYgen 只會顯示副檔名為 .PPK 的檔案。若要尋找 .PEM 檔案,請選擇顯示所有檔案類型的選項。

    將私鑰加載到 PuTTY 密鑰生成器。
  3. 前往先前在本指南中建立的私密金鑰位置。選擇私密金鑰,接著選擇 Open (開啟)

  4. 在 PuTTYgen 確認您成功匯入金鑰後,請選擇 OK (確定)

  5. 反白 Public key (公開金鑰) 文字方塊的內容並複製到剪貼簿 (若您使用 Windows 請按 Ctrl+C (Ctrl+C),若您使用 macOS 則按 Cmd+C (Cmd+C))。

    如果您使用的是 Windows,請開啟文字編輯器 (例如「記事本」) TextEdit,然後按 Ctrl+V 將公開金鑰文字貼入其中,或者如果您使用的是 macOS,則按下「Cmd+V」。將公開金鑰文字存檔;您稍後在本指南中會需要。

    PuTTY 金鑰產生器。
  6. 繼續本指南的在 Amazon EC2 中連接至 Linux 或 Unix 執行個體一節,以連接至 EC2 執行個體並新增公有金鑰。

在 Amazon EC2 中連線至 Linux 或 Unix 執行個體

使用安全殼層 Connect 至 Amazon EC2 中的 Linux 或 Unix 執行個體,以移除 Lightsail 預設金鑰和系統金鑰。如需詳細資訊,請參閱從亞馬遜快照建立的 Amazon EC2 中 Connect 到 Linux 或 Unix 執行個體。

在 Amazon EC2 中連接至執行個體之後,繼續本指南的新增公有金鑰至執行個體並測試連線一節。

新增公開金鑰至執行個體並測試連線

公開金鑰內容儲存於 Linux 和 Unix 執行個體上的 ~/.ssh/authorized_keys 檔案。編輯檔案以移除和取代您在 Amazon EC2 中的 Linux 或 Unix 執行個體中的 Lightsail 預設金鑰。

新增公開金鑰至執行個體和測試連線
  1. 建立到執行個體的 SSH 連線後,輸入下列命令以使用 Vim 文字編輯器編輯 authorized_keys 檔案。

    sudo vim ~/.ssh/authorized_keys
    注意

    這些步驟使用 Vim 做為示範。然而,您可以針對這些步驟使用任何文字編輯器。

    Lightsail 預設鍵。
  2. I 鍵進入 Vim 編輯器的插入模式。

  3. 在預設金鑰之後輸入額外的行。

  4. 複製和貼上您先前在本指南中儲存的公開金鑰文字。

    結果應如下列範例所示:

    Lightsail 預設鍵。
  5. ESC 鍵,然後輸入 :wq! 以儲存您的編輯並退出 Vim。

  6. 輸入下列命令以重新啟動 Open SSH 伺服器:

    sudo /etc/init.d/sshd restart

    您應該會看到類似以下的結果:

    Lightsail 預設鍵。

    新的公開金鑰現在已新增至您的執行個體。若要測試新的金鑰對,請與執行個體中斷連線。將 PuTTY 設定為使用新的私密金鑰,而非 Lightsail 預設金鑰。如果您能夠使用新 key pair 成功連線至執行個體,請繼續前往本指南的 [移除 Lightsail 預設金鑰] 區段,移除 Lightsail 預設金鑰。

移除 Lightsail 金鑰

將新的公開金鑰新增至執行個體,並使用新金鑰組成功連線至該金鑰後,請移除 Lightsail 預設 key pair。

若要移除 Lightsail 金鑰
  1. 建立到執行個體的 SSH 連線後,輸入下列命令以使用 Vim 文字編輯器編輯 authorized_keys file

    sudo vim ~/.ssh/authorized_keys
  2. I 鍵進入 Vim 編輯器的插入模式。

  3. 刪除以 LightsailDefaultKeyPair 結尾的行。這是預 Lightsail 金鑰。

    Lightsail 預設鍵。
  4. ESC 鍵,然後輸入 :wq! 以儲存您的編輯並退出 Vim。

  5. 輸入下列命令以重新啟動 Open SSH 伺服器:

    sudo /etc/init.d/sshd restart

    您應該會看到類似以下的結果:

    Lightsail 預設鍵。

    Lightsail 預設金鑰現在已從您的執行個體中移除。您的執行個體現在會拒絕使用 Lightsail 預設金鑰的連線。請繼續閱讀本指南的〈移除 Lightsail 系統金鑰〉一節,以移除 Lightsail 系統金鑰。

移除 Lightsail 系統鍵

在 Linux 和 Unix 執行個體上,Lightsail 系統金鑰也稱為lightsail_instance_ca.pub金鑰,可讓 Lightsail 以瀏覽器為基礎的安全殼層用戶端進行連線。執行下列步驟,在 Amazon EC2 中移除 Linux 或 Unix 執行個體的 lightsail_instance_ca.pub 金鑰,並編輯 /etc/ssh/sshd_config 檔案。/etc/ssh/sshd_config 檔案會定義到執行個體之 SSH 連線的參數。

若要移除 Lightsail 金鑰
  1. 在連接至執行個體的 SSH 終端機視窗中,輸入下令命令以移除 lightsail_instance_ca.pub 金鑰:

    sudo rm –r /etc/ssh/lightsail_instance_ca.pub
  2. 輸入下列命令以使用 Vim 文字編輯器編輯 sshd_config 檔案。

    sudo vim /etc/ssh/sshd_config
  3. I 鍵進入 Vim 編輯器的插入模式。

  4. 從檔案刪除以下文字 (若存在):

    TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub
  5. ESC 鍵,然後輸入 :wq! 以儲存您的編輯並退出 Vim。

  6. 輸入下列命令以重新啟動 Open SSH 伺服器:

    sudo /etc/init.d/sshd restart

    您應該會看到類似以下的結果:

    Lightsail 預設鍵。

    lightsail_instance_ca.pub 金鑰現在已從您的執行個體移除。相關聯的 sshd_config 檔案已更新以排除該金鑰。