如果在首次啟動後丟失了 SSH 金鑰對,該如何連線到 Amazon EC2 例項?
阿新 • • 發佈:2021-12-06
我想連線到我的 Amazon Elastic Compute Cloud (Amazon EC2) 例項,但是丟失了 SSH 金鑰對。如何連線到例項?
解決方法
重要提示:
方法 1、2 和 3 需要停止並啟動例項。但應注意以下幾點:
- 如果您的例項受例項儲存支援或具有包含資料的例項儲存卷,則在例項停止時資料將丟失。有關更多資訊,請參閱確定例項的根裝置型別。請務必備份您想儲存在例項儲存捲上的所有資料。
- 停止並重新啟動例項會更改例項的公有 IP 地址。將外部流量路由到您的例項時,最佳做法是使用Elastic IP 地址,而不是公有 IP 地址。
方法 1:輸入使用者資料
1.建立新金鑰對
2.如果您在 Amazon EC2 控制檯中建立私鑰,則在公鑰中檢索金鑰對。
3.開啟Amazon EC2 控制檯。
4.停止您的例項。
5.依次選擇Actions(操作)、Instance settings(例項設定)、Edit user data(編輯使用者資料)。
6.將下列指令碼複製到編輯使用者資料對話方塊中:
Content-Type: multipart/mixed; boundary="//" MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cloud-config.txt" #cloud-config cloud_final_modules: - [users-groups, once] users: - name: username ssh-authorized-keys: - PublicKeypair
將username替換為您的使用者名稱,如ec2-user。您可以輸入預設使用者名稱,或者如果先前已為該例項設定了自定義使用者名稱,則輸入此使用者名稱。有關預設使用者名稱的列表,請參閱連線到例項的一般先決條件。
將PublicKeypair替換為第 2 步中檢索到的公鑰。確保輸入以ssh-rsa開頭的完整公鑰。
7.選擇Save(儲存)。
8.啟動您的例項。
9.cloud-init 階段完成後,請驗證公鑰是否已被替換。
重要提示:由於指令碼包含金鑰對,請刪除使用者資料欄位中的指令碼。
10.停止您的例項。
11.依次選擇Actions(操作)、Instance Settings(例項設定)、Edit user data(編輯使用者資料)。
12.刪除Edit user data(編輯使用者資料)對話方塊中的所有文字,然後選擇Save(儲存)。
13.啟動您的例項。
https://aws.amazon.com/cn/premiumsupport/knowledge-center/user-data-replace-key-pair-ec2/