本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Lightsail 和 Amazon Elastic Compute Cloud (Amazon EC2) 使用公有金鑰加密法將登入資訊進行加密及解密。公有金鑰加密法使用公有金鑰將密碼等資料加密,再由收件人使用私有金鑰將資料解密。公有金鑰和私有金鑰稱為金鑰對。
當您將 Linux 或 Unix Lightsail 執行個體匯出至 EC2,新的 EC2 執行個體會包含來自 Lightsail 服務的剩餘金鑰。基於安全最佳實務,您應該從執行個體移除未使用的金鑰。
為了改善從 Lightsail 快照建立之 EC2 中的 Linux 或 Unix 執行個體安全性,建議您在建立執行個體後執行以下動作:
-
如果您使用 Lightsail 預設金鑰連接至 Lightsail 中的來源執行個體,請將其移除和取代。如果您使用自己的金鑰連接至執行個體,或者您於 Lightsail 主控台為執行個體建立了金鑰,則在 Amazon EC2 執行個體中不會出現 Lightsail 預設金鑰。
-
移除 Lightsail 系統金鑰,亦即
lightsail_instance_ca.pub
金鑰。在 Linux 和 Unix 執行個體上的此金鑰可讓 Lightsail 瀏覽器型 SSH 用戶端連接。當使用 Lightsail 主控台或 Lightsail API 中的建立 Amazon EC2 執行個體頁面來建立 EC2 執行個體時,系統會自動移除lightsail_instance_ca.pub
金鑰。
內容
使用 Amazon EC2 建立私有金鑰
使用 Amazon EC2 主控台建立可用於取代 Lightsail 預設金鑰對的新金鑰對。
使用 Amazon EC2 建立私有金鑰
-
登入 Amazon EC2 主控台
。 -
從左側導覽窗格選擇 Key Pairs (金鑰對)。
-
選擇 Create key pair (建立金鑰對)。
-
在金鑰對名稱文字方塊中輸入金鑰的名稱,然後選擇建立金鑰對。如需在 Amazon EC2 中建立金鑰對的詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的為您的 Amazon EC2 執行個體建立金鑰對。
新的私密金鑰會自動下載。記下私密金鑰儲存的位置。您會在本指南以下的使用 PuTTYgen 建立公開金鑰部分需要它來建立公開金鑰。
使用 PuTTYgen 建立公開金鑰
PuTTYgen 是一種工具,包含於 PuTTY。使用 PuTTYgen 產生公開金鑰文字,而您會在本指南稍後將其新增至執行個體。
注意
如需有關設定 PuTTY 以連接至 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))。
開啟文字編輯器,例如 Notepad 或 TextEdit,並將公開金鑰文字貼入 (若您使用 Windows 請按 Ctrl+V,使用 macOS 則按 Cmd+V)。將公開金鑰文字存檔;您稍後在本指南中會需要。
-
繼續本指南的在 Amazon EC2 中連接至 Linux 或 Unix 執行個體一節,以連接至 EC2 執行個體並新增公有金鑰。
在 Amazon EC2 中連線至 Linux 或 Unix 執行個體
使用 SSH 連接至 Amazon EC2 中的 Linux 或 Unix 執行個體,以移除 Lightsail 預設金鑰和系統金鑰。如需詳細資訊,請參閱連接至透過 Amazon Lightsail 快照建立的 Amazon EC2 中的 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 編輯器的插入模式。 -
在 Lightsail 預設金鑰之後輸入額外的行。
-
複製和貼上您先前在本指南中儲存的公開金鑰文字。
結果應如下列範例所示:
-
按
ESC
鍵,然後輸入:wq!
以儲存您的編輯並退出 Vim。 -
輸入下列命令以重新啟動 Open SSH 伺服器:
sudo /etc/init.d/sshd restart
您應該會看到類似以下的結果:
新的公開金鑰現在已新增至您的執行個體。若要測試新的金鑰對,請與執行個體中斷連線。設定 PuTTY 以使用新的私密金鑰,而不是 Lightsail 預設金鑰。如果您能夠成功使用新的金鑰對連接到執行個體,請繼續前往本指南的移除 Lightsail 預設金鑰一節,以移除 Lightsail 預設金鑰。
移除 Lightsail 預設金鑰
在新增新的公開金鑰至執行個體後移除 Lightsail 預設金鑰,並使用新的金鑰對成功連接。
若要移除 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 瀏覽器型 SSH 用戶端連接。執行下列步驟,在 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
檔案已更新以排除該金鑰。