AWS EC2更換SSH KEY === ###### tags: `AWS` ### 使用EC2建立的linux機器正常都會選擇一把SSH key,但當我們忘記選擇key或是遺失key的時候會非常的麻煩,當發生這個情況的時候我們只能透過以下幾種方式登入EC2機器。 1. 原先就已開啟SSH帳號密碼登入的user 2. 透過console的Instance connect 但是有[機型的限制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-serial-console-prerequisites.html#sc-prereqs-instance-types) 3. 使用 AWS Systems Manager但需要安裝[SSM](https://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/session-manager-prerequisites.html) 4. 讓userdata來重新新套用SSH key ### **首先我們先選擇一台遺失SSH key的EC2**  ### **建立一把測試的key**  ### **透過CMD獲取key的公鑰** ``` ssh-keygen -y -f SSHkey-test.pem ```  ### **編輯USERDATA** ``` 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 ``` ### **確認USER名稱**  ### **把key公鑰加入USERDATA** ``` 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: ec2-user ssh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgVfG/bGQglvbKebvVrmoOrVq5asDIRhicEICQNYaSM2lFWoR75++9P0kl6eQKZzIs/wve0O2RrzBGpeyfarCbVROjUQUNCrNnmvTztLPgSMmjyAXLSvnNxJQVnRVxeQKs1m57sUU4AWfXx60Jt5wnIdKvcEqyEt2FPNnHzBSsO+K36y3uZ4uogfiuqRuHmTb7lWWDPp7qog/k18LD1lvbjpa7Axzei1caohbCH5MYHIgTwgV1MBQ5ex11hN0ZEwxaKbTK3zATpTWqEbazl9aLti9TP936yqKz9Cphzai/Udxzcaa7ALM9K0VkAWzzjNLKqA8t8T/8IQJhk/B3EBkh ``` ### **停止EC2並儲存USERDATA** ※請注意,未設置靜態IP可能會造成IP變動  ### **現在複製SSH指令**  ### **更換成新的Key名稱進行連線成功**  ### **測試建立未選擇key的EC2**  ### **一樣可成功進行SSH連線**  --- AWS EC2更換RDP KEY === ### **首先我們先選擇一台遺失RDP key的EC2**  ### **建立一把測試的key**  ### **建立遺失Key的EC2實例AMI**  ### **輸入可辨識名稱**  ### **等待AMI狀態變成可用**  ### **建立一個IAM的Roles**  **選擇AmazonSSMManagedInstanceCore,這是EC2啟用SSM必須的權限**  輸入Roles名稱  ### **停止遺失金鑰的EC2實例** ※請注意,未設置靜態IP可能會造成IP變動  ### **使用剛剛建立的AMI啟動實例並選擇Roles**  ### **新的金鑰對無法與舊的匹配**  ### **先設置Session Manager啟用KMS** ※請注意,若是自己建立KMS需選擇新建立的KMS金鑰對  ### **配置KMS**  **設置名稱**  **選擇稍早建立的Roles**  **確認配置**  **已建立完成**  ### **重製密碼**  **使用者名稱填寫:Administrator**  **重置完成**  ### **測試登入成功**  ### **刪除測試資源並終止原本遺失密碼的EC2** ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up