메뉴 닫기

EC2 키 페어 분실

안녕하세요? 누리클라우드 박상록입니다.

고객 지원을 하다 보면 운영 중에 간혹 EC2 인스턴스 접속에 필요한 키 페어를 분실하시고 곤란해 하시는 경우를 접하게 되는데요, 이번 글에서는 EC2 인스턴스의 개인키 분실 시 새로운 키로 대체하는 방법을 소개해 드리겠습니다.

1.새로운 키 페어를 생성합니다.

먼저, 새로 사용할 키페어를 아래 경로에서 생성합니다.
EC2 대시보드 -> 네트워크 및 보안 -> 키 페어 -> 키 페어 생성

2. 키 페어 이름은 replace_aws_password 로 설정하겠습니다.

개인키는 키 페어를 생성한 직 후 .pem 형식으로 단 한 번만 다운로드 할 수 있으니 잘 보관하시기 바랍니다.

3. 복구작업에 사용 할 임시 EC2 인스턴스를 생성합니다.

주의: 인스턴스는 대상 인스턴스와 동일한 가용영역에 생성하여야 복구대상 EBS를 연결할 수 있습니다.

임시 인스턴스는 앞으로 사용할 replace_aws_password 키 페어로 생성합니다.

4. 복구대상 인스턴스를 정지하고 ROOT 볼륨을 분리합니다.

볼륨 메뉴에서 해당 볼륨을 우 클릭 후 볼륨 분리를 선택합니다.

5. 복구대상 ROOT 볼륨을 선택 후 임시 인스턴스에 연결 합니다.

6. 임시 인스턴스에 SSH 접속 후 연결하였던 복구대상 ROOT 볼륨을 마운트합니다.

볼륨 확인:

작업 폴더에 ROOT 볼륨 마운트:
# mount -o nouuid /dev/xvdb2 /mnt

* 만약, 복구대상 ROOT 볼륨으로 부팅이 되버리는 경우는 아래 URL을 참고바랍니다.
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/instance-booting-from-wrong-volume.html

7. 복구대상 ROOT 볼륨에 있는 키 페어 파일 수정 후 마운트 해제합니다.

——–키 페어 경로는 OS 마다 다를 수 있습니다. ——–

#view /home/ec2-user/.ssh/authorized_keys

Replace_aws_password의 내용을 복사해서 기존 볼륨 아래 경로에 넣어준다.

# view /keypair/home/ec2-user/.ssh/authorized_keys

——마운트 해제——

#umount /keypair/

8. 마운트 해제 후 임시 인스턴스를 정지합니다.

9. 임시 인스턴스에 연결하였던 복구대상 ROOT 볼륨을 분리 후 복구대상 인스턴스에 다시 연결합니다.

다시 연결할 때는 ROOT 볼륨의 장치 이름을  원래 이름인 /dev/sda 또는 /dev/sda1 로 지정하여 주어야 합니다.

10. 복구대상 인스턴스를 시작 후 교체한 replace_aws_password 키로 접속이 되는지 확인합니다.

같은 키 페어로 생성된 EC2는 동일한 Public key를 가지고 있고, EBS 볼륨 마운트를 이용하여 Public key를 복사 하는 방법으로 해결할 수 있습니다.

이런 문제가 발생되기전에 주기적인 백업이 필요하겠습니다.