Trong bài viết hướng dẫn tạo và kết nối đến instance trên AWS EC2 https://liveoninternetvn.wixsite.com/thanhtuan/blog/how-to-create-and-connect-to-instance-in-ec2
mình đã lưu ý các bạn về việc lưu giữ file Key Pair để kết nối đến Instance, nếu bạn mất file này thì phải làm như thế nào.
Hôm nay mình xin hướng dẫn các bạn cách khôi phục lại file Key Pair. Trong bài viết này mình giả sử đang chạy một instance Ubuntu Server 18.04 tên là prod-web1 và mình bị thất lạc file key pair nên không thể kết nối vào instance này được.
Hướng mình làm như sau:
- Tạo một instance mới cùng Zone với instance cần khôi phục key pair (mình gọi tắt là instance cũ), và tạo key pair cho instance mới.
- Attach volume từ instance cũ vào instance mới.
- Console vào instance mới copy file key pair vào volume instance cũ.
- Detach volume đã chỉnh sửa ra khỏi instance mới.
- Attach và đổi tên lại volume vào instance cũ.
- Dùng file key pair của instance mới để console vào instance cũ.
1. Tạo một instance mới
Chúng ta tiến hành tạo instance mới cùng type với instance cũ (instance cũ của mình là Ubuntu Server 18.04). Trong phần hướng dẫn tạo instance mình đã hướng dẫn vì thế mình sẽ lướt qua nhanh và chỉ lưu ý những chỗ quan trọng.
![](https://static.wixstatic.com/media/68165d_de9c0229440c4bb896c53e3102b24eee~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_de9c0229440c4bb896c53e3102b24eee~mv2.png)
![](https://static.wixstatic.com/media/68165d_f4a65a30c86f4200a6edeccf4eb84a38~mv2.png/v1/fill/w_980,h_449,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_f4a65a30c86f4200a6edeccf4eb84a38~mv2.png)
![](https://static.wixstatic.com/media/68165d_0af408c16ec0459cb567ae04c7011d17~mv2.png/v1/fill/w_980,h_445,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_0af408c16ec0459cb567ae04c7011d17~mv2.png)
![](https://static.wixstatic.com/media/68165d_d670c9f0c6094a029732c56949024011~mv2.png/v1/fill/w_980,h_439,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_d670c9f0c6094a029732c56949024011~mv2.png)
Chú ý bước này ở phần Subnet chúng ta phải chọn cùng chung subnet với instance cũ.
![](https://static.wixstatic.com/media/68165d_80caf74fae234944b13e0e9eea65dc3b~mv2.png/v1/fill/w_980,h_441,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_80caf74fae234944b13e0e9eea65dc3b~mv2.png)
Ở bước này chúng ta phải tạo key pair cho instance mới, key pair này sẽ dùng để kết nối đến instance cũ luôn, chúng ta phải download key về trước khi chạy instance nhé.
![](https://static.wixstatic.com/media/68165d_5ae060f2d1cb45b38ccb12fe00751269~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_5ae060f2d1cb45b38ccb12fe00751269~mv2.png)
Chúng ta thấy đã tạo xong instance mới và đang running.
2. Attach volume từ instance cũ vào instance mới
Tiến hành stop instance cũ.
![](https://static.wixstatic.com/media/68165d_953c69282e624964ba07ca9b6d840542~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_953c69282e624964ba07ca9b6d840542~mv2.png)
Chọn instance cũ >> Actions >> Instance State >> Stop
![](https://static.wixstatic.com/media/68165d_bc0515c62ded4b929bfb2050798ee460~mv2.png/v1/fill/w_980,h_440,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_bc0515c62ded4b929bfb2050798ee460~mv2.png)
Sau khi đợi instance cũ đã stopped chúng ta kéo xuống phần Storage chọn Root devices
![](https://static.wixstatic.com/media/68165d_f1200e297bd249f384d18efad64ee9cd~mv2.png/v1/fill/w_980,h_441,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_f1200e297bd249f384d18efad64ee9cd~mv2.png)
Chọn EBS ID
Đây là volume của instance cũ, chúng ta sẽ Detach volume ra khỏi instance cũ.
![](https://static.wixstatic.com/media/68165d_7730564e84684abab3ddc4db9cf11f8f~mv2.png/v1/fill/w_980,h_443,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_7730564e84684abab3ddc4db9cf11f8f~mv2.png)
Vào Actions >> Detach Volume
![](https://static.wixstatic.com/media/68165d_150d4c64011c4b06a4d94cf93721c253~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_150d4c64011c4b06a4d94cf93721c253~mv2.png)
Tiếp theo chúng ta sẽ Attach volume đã detach vào instance mới.
![](https://static.wixstatic.com/media/68165d_1823abbc3bfd47b1b59a8d4393154743~mv2.png/v1/fill/w_980,h_442,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_1823abbc3bfd47b1b59a8d4393154743~mv2.png)
Chọn lại volume đã Detach >> Actions >> Attach Volume
![](https://static.wixstatic.com/media/68165d_f0efe100c99f488797438edfcba1f6c0~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_f0efe100c99f488797438edfcba1f6c0~mv2.png)
Ô instance chúng ta chọn instance mới, chú ý ô Device là phân vùng sẽ được thêm vào cho instance mới >> Attach
3. Kết nối vào instance mới để khôi phục lại key pair
Chúng ta console vào instance mới bằng key pair lúc nãy đã tạo và tải về.
![](https://static.wixstatic.com/media/68165d_5ae606ec1b054d82ac0b80622d68404a~mv2.png/v1/fill/w_910,h_529,al_c,q_90,enc_auto/68165d_5ae606ec1b054d82ac0b80622d68404a~mv2.png)
![](https://static.wixstatic.com/media/68165d_4f98c3358ebb4a6c9c43f06f02eb1a05~mv2.png/v1/fill/w_907,h_534,al_c,q_90,enc_auto/68165d_4f98c3358ebb4a6c9c43f06f02eb1a05~mv2.png)
Chúng ta thấy phân vùng xvdf là volume lúc nãy chúng ta đa Attach vào.
![](https://static.wixstatic.com/media/68165d_3c24daa04bf94e86b449c3da6b8eb66f~mv2.png/v1/fill/w_907,h_524,al_c,q_90,enc_auto/68165d_3c24daa04bf94e86b449c3da6b8eb66f~mv2.png)
Chuyển sang quyền root
# sudo -i
![](https://static.wixstatic.com/media/68165d_8486b2e05ff041fca2ef498c2c44856c~mv2.png/v1/fill/w_906,h_533,al_c,q_90,enc_auto/68165d_8486b2e05ff041fca2ef498c2c44856c~mv2.png)
Tạo thư mục sẽ mount phân vùng đã attach
# mkdir /mnt/recover
![](https://static.wixstatic.com/media/68165d_7a1f42b89563434c84f03c6cbd48ee33~mv2.png/v1/fill/w_910,h_533,al_c,q_90,enc_auto/68165d_7a1f42b89563434c84f03c6cbd48ee33~mv2.png)
Tiến hành mount phân vùng của instance cũ vào.
![](https://static.wixstatic.com/media/68165d_2b49e04e51414a1caaae4d6d305e15b0~mv2.png/v1/fill/w_908,h_636,al_c,q_90,enc_auto/68165d_2b49e04e51414a1caaae4d6d305e15b0~mv2.png)
# cat /home/ubuntu/.ssh/authorized_keys >> /mnt/recover/home/ubuntu/.ssh/authorized_keys
![](https://static.wixstatic.com/media/68165d_ee3e5e9a19c64927813790d9725d391b~mv2.png/v1/fill/w_907,h_529,al_c,q_90,enc_auto/68165d_ee3e5e9a19c64927813790d9725d391b~mv2.png)
# umount /mnt/recover
4. Detach volume đã chỉnh sửa ra khỏi instance mới
![](https://static.wixstatic.com/media/68165d_064481668dfa409988091127601ea628~mv2.png/v1/fill/w_980,h_442,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_064481668dfa409988091127601ea628~mv2.png)
Stop instance mới
![](https://static.wixstatic.com/media/68165d_03163f9e8fc549868deec3c5e474d9b8~mv2.png/v1/fill/w_980,h_441,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_03163f9e8fc549868deec3c5e474d9b8~mv2.png)
Trên instance mới chọn device lúc nãy đã attach
![](https://static.wixstatic.com/media/68165d_caeaaeae54c1401aa7f81bf91aa413ec~mv2.png/v1/fill/w_980,h_441,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_caeaaeae54c1401aa7f81bf91aa413ec~mv2.png)
![](https://static.wixstatic.com/media/68165d_e04aaac4ea334b1ebaefeff8bc7d0590~mv2.png/v1/fill/w_980,h_441,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_e04aaac4ea334b1ebaefeff8bc7d0590~mv2.png)
![](https://static.wixstatic.com/media/68165d_9ee2096d74c441a0a6b9e63685456010~mv2.png/v1/fill/w_980,h_443,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_9ee2096d74c441a0a6b9e63685456010~mv2.png)
![](https://static.wixstatic.com/media/68165d_5a13d72e418b40ddbcadb324ffc7bd25~mv2.png/v1/fill/w_980,h_443,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_5a13d72e418b40ddbcadb324ffc7bd25~mv2.png)
Sau khi Detach xong xem trạng thái volume là available chúng ta tiến hành Attach lại vào instance cũ.
![](https://static.wixstatic.com/media/68165d_08a6441dde19430dbb12c54b5a3f5fc3~mv2.png/v1/fill/w_980,h_443,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_08a6441dde19430dbb12c54b5a3f5fc3~mv2.png)
Ô Instance chúng ta chọn instance cũ, ổ Device chúng ta đổi tên lại như lúc ban đầu
![](https://static.wixstatic.com/media/68165d_01a4b045a924442c9503fc5884183dac~mv2.png/v1/fill/w_980,h_444,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_01a4b045a924442c9503fc5884183dac~mv2.png)
Bây giờ tiến hành start instance cũ lên
![](https://static.wixstatic.com/media/68165d_d8c3573384cc4176845cf9b467429da1~mv2.png/v1/fill/w_980,h_443,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/68165d_d8c3573384cc4176845cf9b467429da1~mv2.png)
Vậy là xong, chúng ta có thể xóa instance mới và dùng file key pair của instance mới để console vào instance cũ.
![](https://static.wixstatic.com/media/68165d_2c5a4ad434e2455f991513924c725542~mv2.png/v1/fill/w_913,h_528,al_c,q_90,enc_auto/68165d_2c5a4ad434e2455f991513924c725542~mv2.png)
![](https://static.wixstatic.com/media/68165d_f81249fa5d5f4614acb97ec0acc04e0a~mv2.png/v1/fill/w_915,h_531,al_c,q_90,enc_auto/68165d_f81249fa5d5f4614acb97ec0acc04e0a~mv2.png)
Vậy là chúng ta đã khôi phục thành công key pair.
Comments