本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從快照啟動的安全 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 建立私有金鑰
-
登入 Amazon EC2 主控台
。 -
從左側導覽窗格選擇 Key Pairs (金鑰對)。
-
選擇 Create key pair (建立金鑰對)。
-
將金鑰名稱輸入 Key pair name (金鑰對名稱) 文字方塊,接著選擇 Create (建立)。
新的私密金鑰會自動下載。記下私密金鑰儲存的位置。您會在本指南以下的使用 PuTTYgen 建立公開金鑰部分需要它來建立公開金鑰。
使用 PuTTYgen 建立公開金鑰
PuTTYgen 是一種工具,包含於 PuTTY。使用 PuTTYgen 產生公開金鑰文字,而您會在本指南稍後將其新增至執行個體。
注意
如需有關如何設定 PuTTY 以 Connect 到 Linux 或 Unix 執行個體的詳細資訊,請參閱連接至透過 Lightsail 快照建立的 Amazon EC2 Linux 或 Unix 執行個體。
若要使用 PuTTYgen 建立公開金鑰
-
啟動 PuTTYgen。
例如,依序選擇 Windows Start (Windows 開始) 功能表、All Programs (所有程式)、PuTTY (PuTTY) 和 PuTTYgen (PuTTYgen)。
-
選擇 Load (載入)。
根據預設,PuTTYgen 只會顯示副檔名為 .PPK 的檔案。若要尋找 .PEM 檔案,請選擇顯示所有檔案類型的選項。
-
前往先前在本指南中建立的私密金鑰位置。選擇私密金鑰,接著選擇 Open (開啟)。
-
在 PuTTYgen 確認您成功匯入金鑰後,請選擇 OK (確定)。
-
反白 Public key (公開金鑰) 文字方塊的內容並複製到剪貼簿 (若您使用 Windows 請按 Ctrl+C (Ctrl+C),若您使用 macOS 則按 Cmd+C (Cmd+C))。
如果您使用的是 Windows,請開啟文字編輯器 (例如「記事本」) TextEdit,然後按 Ctrl+V 將公開金鑰文字貼入其中,或者如果您使用的是 macOS,則按下「Cmd+V」。將公開金鑰文字存檔;您稍後在本指南中會需要。
-
繼續本指南的在 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 預設金鑰。
新增公開金鑰至執行個體和測試連線
-
建立到執行個體的 SSH 連線後,輸入下列命令以使用 Vim 文字編輯器編輯
authorized_keys
檔案。sudo vim ~/.ssh/authorized_keys
注意
這些步驟使用 Vim 做為示範。然而,您可以針對這些步驟使用任何文字編輯器。
-
按
I
鍵進入 Vim 編輯器的插入模式。 -
在預設金鑰之後輸入額外的行。
-
複製和貼上您先前在本指南中儲存的公開金鑰文字。
結果應如下列範例所示:
-
按
ESC
鍵,然後輸入:wq!
以儲存您的編輯並退出 Vim。 -
輸入下列命令以重新啟動 Open SSH 伺服器:
sudo /etc/init.d/sshd restart
您應該會看到類似以下的結果:
新的公開金鑰現在已新增至您的執行個體。若要測試新的金鑰對,請與執行個體中斷連線。將 PuTTY 設定為使用新的私密金鑰,而非 Lightsail 預設金鑰。如果您能夠使用新 key pair 成功連線至執行個體,請繼續前往本指南的 [移除 Lightsail 預設金鑰] 區段,移除 Lightsail 預設金鑰。
移除 Lightsail 金鑰
將新的公開金鑰新增至執行個體,並使用新金鑰組成功連線至該金鑰後,請移除 Lightsail 預設 key pair。
若要移除 Lightsail 金鑰
-
建立到執行個體的 SSH 連線後,輸入下列命令以使用 Vim 文字編輯器編輯
authorized_keys file
。sudo vim ~/.ssh/authorized_keys
-
按
I
鍵進入 Vim 編輯器的插入模式。 -
刪除以
LightsailDefaultKeyPair
結尾的行。這是預 Lightsail 金鑰。 -
按
ESC
鍵,然後輸入:wq!
以儲存您的編輯並退出 Vim。 -
輸入下列命令以重新啟動 Open SSH 伺服器:
sudo /etc/init.d/sshd restart
您應該會看到類似以下的結果:
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 金鑰
-
在連接至執行個體的 SSH 終端機視窗中,輸入下令命令以移除
lightsail_instance_ca.pub
金鑰:sudo rm –r /etc/ssh/lightsail_instance_ca.pub
-
輸入下列命令以使用 Vim 文字編輯器編輯
sshd_config
檔案。sudo vim /etc/ssh/sshd_config
-
按
I
鍵進入 Vim 編輯器的插入模式。 -
從檔案刪除以下文字 (若存在):
TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub
-
按
ESC
鍵,然後輸入:wq!
以儲存您的編輯並退出 Vim。 -
輸入下列命令以重新啟動 Open SSH 伺服器:
sudo /etc/init.d/sshd restart
您應該會看到類似以下的結果:
lightsail_instance_ca.pub
金鑰現在已從您的執行個體移除。相關聯的sshd_config
檔案已更新以排除該金鑰。